Tech News
← Back to articles

Maker builds tiny $10 secondary 1.14-inch display using an ESP32 — you could play Crysis on it, if you squint

read original related products more articles

When thinking of a desktop monitor, one would naturally think about a high-resolution display, perhaps one of the best monitors would suffice? But, surely you wouldn't think about building your own, tiny 1.14 inch display? Tucker Shannon did just that, using an ESP32 microcontroller based board.

Shannon's project is based on the TENSTAR T-Display ESP32-D0WD, which has an integrated 1.14-inch ST7789 LCD display with a resolution of just 135 x 240 pixels. Just big enough to see something, but it feels like a secondary display for ants, rather than any productivity tasks. In the video above, we can see a scaled Google Chrome window, essentially the same output as seen on Shannon's main display, just mirrored and scaled to the ESP32 desktop monitor. Screens like the ST7789 are common in the maker and microcontroller world; a quick look in my desk drawers shows a few examples of this and compatible displays.

The process for sending the video stream to the ESP32 is to capture the main display and stream the frames over Wi-Fi using a custom protocol. The stream only sends changed pixels by comparing the current frame with the previous one. This means that for relatively static screens, Shannon's project can achieve 60FPS, but for more active displays, it drops to around 5FPS. Of course, this also depends on network speeds and quality, but Shannon states that latency is less than 100ms end-to-end on good Wi-Fi.

Powering the project is the aforementioned TENSTAR T-Display ESP32-D0WD. This $11 dev board has 16MB of flash and an integrated ST7789 LCD display. The screen uses the board's SPI interface to communicate with the chip, and Shannon programmed the board using the Arduino IDE. The board simply acts as a receiver, waiting for the frames to arrive. On the transmitter PC, a Python script runs, and that is where the current and previous frames are compared (frame diffing) and then encoded using the most efficient method. The frames are then batched up and sent to the receiving ESP32.

You're probably thinking, "What is the purpose of this project?" and Shannon thinks it would be perfect for remote monitoring dashboards, secondary displays, Internet of Things (IoT), and to learn how to use the ESP32 and Wi-Fi streaming. No matter how you use it, Shannon's project shows just what is possible with limited resources and clever coding.

All of the code and instructions on how to build your own can be found on Shannon's GitHub page.

Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.