Technology

An eInk Game Boy built on ESP32 e-paper

eInk Game – A hacker used an M5Stack PaperS3—an ESP32-S3 paired with an e-ink display—to build a Game Boy-style handheld. The design leans on partial e-ink refresh at up to 60 Hz and lets the screen orientation be flipped to keep gaming even as the high-refresh area wears

He didn’t start with a Game Boy. He started with a problem—those cheap, flexible dev boards that have made hacking easier than it has any right to be.

In this case, the board was the M5Stack PaperS3, a device that pairs an ESP32-S3 with an e-ink panel. [Wenting Zhang] picked one up, and quickly found himself pulled toward a simple, stubborn idea: build an e-ink Game Boy.

What made that jump possible wasn’t just the display. The M5Stack PaperS3 exposes the screen with row/column control—parallel control—rather than the usual serial SPI interface. With that access. [Wenting] used e-ink techniques he previously developed on his Modos monitors to enable partial refresh at up to 60 Hz.

That matters because emulating a handheld isn’t just about showing a picture. The ESP32-S3 is already capable of emulating older systems—he notes it can emulate an MSX and even output VGA or Windows 95 on a 386—so the real trick here is getting the emulation to sit on top of an e-ink display without losing the feel of motion. In his build, the actual Game Boy emulation is based on Crank Boy.

E-ink brings its own limits, and the project leans into them in a clever way. The M5Stack e-ink panel is larger and higher resolution than what the original Game Boy shipped with. That extra pixel budget lets him add touch controls. scale the image up by 3X. and fake “a couple of shades of grayscale” while still outputting black and white.

There’s also a durability story baked into the hardware choice—one driven by a concern many people raised when [Wenting] was working on his earlier e-ink monitor project. In a normal use case. the high-refresh portion of an e-ink panel is the piece that starts to wear out first. Here. the workaround is physical and simple: once that high-refresh area degrades. he can flip the orientation and keep gaming on the portion of the screen that stays virtually-unrefreshed.

The trade-off is sound. The M5Stack’s buzzer produces one-bit beeps, and it can’t match Nintendo’s audio. [Wenting] points out that this shortcoming is partly just using the hardware as-is. The fix. as described. is to add an I2S sound chip like the one used in the MOD player project we featured recently—then squeeze out enough processor cycles to get the audio quality up to the level the video suggests it could reach.

The result is the kind of hack that makes you look at a familiar object—then wonder how it could ever have stayed trapped in plastic and phosphor. Now the Game Boy’s screen is paper-bright, refresh-tuned, touch-enabled, and built with a plan for its own aging.

e-ink Game Boy ESP32-S3 M5Stack PaperS3 Crank Boy partial refresh embedded gaming touch controls

4 Comments

  1. So it’s basically a Game Boy but with a screen that refreshes 60 times? Doesn’t that defeat the point of e-ink??

  2. I don’t get the flip part. Like he just turns the whole screen around so it “wears” somewhere else? Seems kinda backwards but I guess it works.

  3. Windows 95 on an ESP32 is cool but why do they always obsess over Nintendo audio? If it plays, it plays. Also 60 Hz e-ink sounds like marketing.

  4. This is the dumbest cool thing I’ve seen. He says grayscale but it’s still black and white?? Also the one-bit beeps… so it’s like a Game Boy but off-brand? I feel like the screen would smear like crazy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? Please solve:Captcha


Secret Link