YouTuber built 30-frame-per-second grayscale Game Boy, then open sourced it for all e-paper displays
Sure, running emulated Game Boy games at 30 fps with four shades of gray on an E Ink screen is cool, but you know what's cooler? A custom open source E Ink driver that could theoretically let any display do the same thing.
YouTuber Bo Made It published a video last week demonstrating what he calls the InkBoy on a tiny ESP32-S3-powered e-paper board.
It looks just about as good as the old-fashioned olive-green screen on the original Game Boy, which isn’t saying much, but it’s an impressive feat to make this work on a cheap stock e-paper screen.
For those who haven’t owned an e-reader, E Ink displays are great at what they’re designed for.
They can retain what's on the screen without continuously consuming energy by using electrical pulses to move charged pigment particles within individual pixels, enabling them to store the screen state physically.
That makes e-paper devices very power efficient, but it comes with a huge trade off: Changing those pixels is a glacially slow process compared with the modern displays we're all accustomed to.
The screen that Bo used to make his InkBoy, for example, has a refresh speed of around 300 milliseconds, which is actually on the faster end of e-paper displays - but only really practical for displaying static images.
Standard black and white E Ink displays contain two types of pigments: Positively charged black ones, and negatively charged white pigments.
Swapping between the two requires a series of brief electrical charges in a particular waveform pattern that gradually move the pixels from the front of the screen to the back, clearing out most of the pigment that shouldn’t be at the surface.
The native driver in Bo’s Waveshare 1.54-inch ESP32-S3 e-paper display does just that, and it doesn’t leave a lot of room for displaying motion.
In order to get around those limitations, Bo built his own driver for the display that shortened the waveform and enabled per-pixel driving to reduce image ghosting.
More impressively, it enabled his ostensibly black and white screen to display four shades of grey, just like an original Game Boy.
He was originally using dithering to create greyscale images, but it honestly looked horrible.
Luckily Bo noticed something while trying to fix the issue of image ghosting.
5News aggregated this summary from the outlet’s public feed. The full article, with all the context, is on www.theregister.com — the content belongs to The Register.