Summary
- A developer got Game Boy games running at around 30FPS on a tiny ESP32-powered e-paper display.
- A custom driver accelerates screen updates by shortening the electrical pulse sequence and tracking each pixel separately.
- The project supports four shades of gray, sound, and USB or Bluetooth controllers, with a public GitHub release planned.
YouTuber Bo Made It paired a tiny 200 x 200 e-paper display with an ESP32 to run Game Boy games at 30FPS. In the YouTube video, the developer showcases the emulator running with four shades of grey and responsive controls, all on a display that’s mostly associated with e-readers and static dashboards.
Moreover, the board includes an audio codec and speaker that make this DIY project a more serious and complete gaming unit. While all of those features are nice, the most impressive part of this project is how the developer managed to get games running at 30FPS on an e-paper display.
E-paper displays have notoriously slow frame rates
But a custom driver can boost frame rates significantly
ESP32 units have recently become very popular among DIY gurus and hobbyists alike. This is partly due to newer versions offering considerably more computing power and modularity. The ESP32 family has expanded far beyond the original board. The ESP32-S3, for instance, has become a popular option for projects that require more processing power, memory, and USB or Wi-Fi support. However, the fact that Raspberry Pis have become too expensive for many everyday experimental builds has also been a huge contributing factor.
One of the biggest obstacles to using an e-paper display for DIY projects is its extremely low refresh rate. Usually, an e-paper display can manage 2 or 3 frames per second, which limits its use to reading e-books and powering desktop dashboards that show reminders or calendar widgets. For any game to look decent, you’d need at least ten times that refresh rate.
Bo Made It overcame this limitation by creating a custom display driver. E-paper displays usually use a long sequence of electrical pulses to move the particles inside every pixel between black and white. In his video, the YouTuber explains how the custom driver he built shortened that process and made the screen update much more frequently.
The result is a tiny e-paper Game Boy that runs games at approximately 30FPS. The driver is not publicly available yet, but Bo Made It has promised to eventually share the code and controller files on GitHub.
