This ESP32 Runs a Word Processor — Complete with Screen and Keyboard
See how YouTuber Volos Projects was able to connect a keyboard and screen to an ESP32-S3 and use it as a functional text editor.
Gamepads, mice, and keyboards are just a few of the different types of human interface devices (HIDs) we use on a regular basis to interact with computers of all kinds. And for embedded projects that require many buttons in order to work, substituting a complex button matrix for a keyboard could greatly reduce costs and time requirements. Which is why, in his latest video, YouTuber Volos Projects details how he was able to connect a full-size keyboard to an ESP32-S3 and turn it into a functional word processor.
The screen and keyboard
Drawing on his ample experience with embedded displays and data visualization, Volos selected a seven-inch TFT IPS screen module that features a built-in ESP32-S3 WROOM, microSD card slot, touch controls, and a variety of connectors, including two USB ports. After setting up the ESP32 as a USB host in the sketch and assigning different actions based on function key presses, Volos's next task was to get each key to appear onscreen just like a more traditional text editing GUI.
Opening, modifying, and saving files
The ESP32-based screen's microSD card is where the user's files are opened from and saved to. Pressing F1
will create a new, empty text file wherein the user can type ASCII characters as well as give the file a name with the F3
key. Once they are ready to save, hitting F4
will write the entire file's new content back to the SD card. Finally, pressing F2
will open a file explorer menu to select previously saved entries.
Programming constraints
Although the S3 contains a large amount of RAM relative to its size and cost, the screen's 1024
x 600
resolution (614,400
pixels in total) would have far exceeded this limit if the full 16-bit color palette were used. To get around this, Volos reduced the color resolution to just 4 bits across most of the screen, and for areas that only needed to be black or white, only 1 bit was required.
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.