This is PDA firmware for ESP32 Cheap Yellow Display. Inspired by Palm OS.
PDA is Personal Digital Assistant. Small handheld computer. Like smartphone without phone functions.
- No additional hardware required. All you need is CYD
- But if you have a speaker it can beep on events.
- It uses internal flash for files storage. FFat as filesystem. You can do backups from FFat to SD.
- Or you can use SD as storage. If both (SD and FFat) available you'll see prompt after reboot.
- You can add your own internal apps by modifying arduino code.
- TFT_eSPI - install via arduino library manager
- XPT2046_Bitbang - install via arduino library manager
- ESPping
- Ticker
- Install Arduino IDE
- Install Required libraries (see above)
- Replace User_Setup.h with a file from https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/DisplayConfig/User_Setup.h
- Add ESP32 libraries
- Board Selection: In the Arduino IDE, go to Tools > Board and select ESP32-2432S028R
- Set in Arduino IDE Tools - Partition scheme - No OTA (2 MP APP/2 MB FATFS)
- Compile and upload
- Done
Check instructions at https://randomnerdtutorials.com/cheap-yellow-display-esp32-2432s028r/ if you have troubles.
- Calibrate sensor screen - calibration data stored in a /Settings/Calibration
- Format internal storage as FFat when asked
- Done
- Tap app name to launch this app
- Touch and hold app title more than 1 second to exit app
- Tap buttons in app to perform actions
- For screensavers touch and hold anywhere to exit
- To force perform calibration on start hold touchscreen during reboot
- You can set password in Security app. Password asked when power on. Password stored in a plaintext, no encryption
- A - alarm enabled
- W - connected to Wi-Fi
- T - time synced with NTP
- S - main storage is SD
- F - main storage is FFat (internal storage)
- M - music playing in progress
- File management (with viewing text, JPEG, PNG and editing text support)
- Touch sensor calibration
- TFT screen test
- Random number generator
- System info
- Password
- LED control
- Stopwatch
- Timer
- Breathing timer
- Brightness
- Life (cellular automaton) - see https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life for details
- Clock stand
- Fuzzy clock
- Counter
- I2C Scanner
- Set clock and timezone
- View Fonts
- Make screenshot with BOOT button
- Application groups
- Manual application
- Select color scheme and inversion
- Software reboot app
- Enable/disable russian keyboard app
- Terminal (with serial, ping, telnet)
- Backup via web interface (very slow, ~40 minutes for download, upload is pretty fast)
- Select autorun app
- Oscilloscope
- Select data storage
- View Screenshots
- Backup FFat to SD and restore from SD to FFat
- Voltmeter
- Translate (via google translate unofficial API)
- Clock settings
- Screen settings
- Signal generator
- Calculator
- Notes
- Books reader
- Contacts
- Todo
- Expenses
- Drawing (with saving BMP)
- Schedule
- Passwords - AES-256 encrypted notes
- Flashcards
- Table editor (stored in CSV format)
- TOTP (like Google Authenticator)
- Fifteen puzzle game - see https://en.wikipedia.org/wiki/15_puzzle for details
- Lights Off puzzle game - see https://en.wikipedia.org/wiki/Lights_Out_(game) for details
- Snake - see https://en.wikipedia.org/wiki/Snake_(video_game_genre) for details
- Turkish Kerchief Solitaire - see https://www.bvssolitaire.com/rules/turkish-kerchief.htm for details
- Memory Match - see https://en.wikipedia.org/wiki/Concentration_(card_game) for details
- Hanoi Towers - see https://en.wikipedia.org/wiki/Tower_of_Hanoi for details
- Match Tree - see https://en.wikipedia.org/wiki/Tile-matching_video_game for details
- Simon - see https://en.wikipedia.org/wiki/Simon_(game) for details
- N back - see https://en.wikipedia.org/wiki/N-back for details
- Mental Math - see https://en.wikipedia.org/wiki/Mental_calculation for details :)
- 2048 - see https://en.wikipedia.org/wiki/2048_(video_game) for details
- CHIP-8 emulator - see https://en.wikipedia.org/wiki/CHIP-8 for details
- Stars
- Color squares
- Lorenz attractor
- Noise
- Matrix
- Forest Fire Simulator
- Wi-Fi connection
- Gopher browser - see https://ru.wikipedia.org/wiki/Gopher for details
- Weather
- Chat - simple chat for CYD PDA users
- File Server (for backups and file upload)
- RSS Reader - see https://en.wikipedia.org/wiki/RSS for details
- IRC client - see https://en.wikipedia.org/wiki/IRC for details
- Piano
- Metronome
- Tunes - nokia melody player, try 4g1 8e1 8e1 4g1 8e1 8e1 8c1 8d1 8e1 8f1 2g1 8g1 8g1 8e1 8e1 8f1 8f1 8d1 8d1 4c1 4d1 2c1
- MP3 player
- Web Radio Player
- millis - show milliseconds after reboot
- micros - show microseconds after reboot
- date - show current date
- reset - clear screen, reinit terminal
- reboot - reboot CYD
- host - resolve domain name
- ip - show current ip
- gateway - show current gateway
- dns - show current DNS
- netmask - show current netmask
- rssi - show current RSSI value
- ping {host} - ping specified host continiously, touch screen to stop
- serial [speed] - connect to serial port with specified speed, default is 115200
- telnet {host} [port] - connect via telnet to specified host and port
- telnets {host} [port] - connect via telnet to specified host and port using SSL
- wget {url} [filename] - download file with http/https and show or store to file
- tracert {host} - traceroute ho host
- ipinfo {ip} - show IP information (via ipinfo.io)
- sd_to_ffat {sd_path} {ffat_path} - copy file from SD to FFat
- ffat_to_sd {ffat_path} {sd_path} - copy file from FFat to SD
- utf8_to_cp1251 {from_file} {to_file} - convert file encoding from UTF-8 to CP1251
- beep - beep sound
- tone - start sound tone
- notone - stop tone
- hexdump {path} - view files in hex codes
- uuidgen - generate uuid
- uptime - shows uptime in days, hours, minutes, seconds
- tracert {host} - traceroute host
- random [from] [to] - random number
- mkdir {path} - create directory
- rmdir {path} - remove empty directory
- rm {path} - remove file
- touch {path} - create empty file
- ls {path} - list directory files
- cat {path} - show file contents
- more {path} - show file page by page
- head {path} - show beginning of the file
- tail {path} - show ending of the file
- echo {text} - show text and exit
- caesar {text} - encodes text with Caesar encryption, https://en.wikipedia.org/wiki/Caesar_cipher
- seq {from} {to} - generate number sequence
- wc {path} - calculate words, lines and bytes in file
- lscpu - information about CPU
- lsmem - information about memory
- lsblk - information about internal storage
- brainfuck {path} - brainfuck interpretator
- view {path} - view file (GUI viewer)
- edit {path} - edit file (GUI editor)
- csv {path} - edit file in table editor
You can modify code if you want. Bug reports and pull requests appreciated.
- Web Flasher: https://sau412.github.io/esp32_cyd_pda/flash
- Video presentation: https://www.youtube.com/watch?v=mXp3R2wKOIw
- Reddit post: https://www.reddit.com/r/esp32projects/comments/1tdrvur/esp32_cyd_pocket_digital_assistant/
- Reddit post: https://www.reddit.com/r/esp32/comments/1teoa28/esp32_cyd_pocket_digital_assistant/
- Reddit post: https://www.reddit.com/r/CheapYellowDisplay/comments/1tdryb3/esp32_cyd_pocket_digital_assistant/
