AN E-INK GAME BOY THAT RUNS AT 60 HZ
A designer turned a discontinued e-ink dev board into a 60Hz Game Boy handheld using an ESP32-S3 — the fact it runs at all is the achievement.
Open-hardwareDisplays
Built withESP32
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- license not specified
- repo
- repo ACTIVE11 stars
●●●●○ · a weekend-plus · license not specified · 11 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a technical showcase of what clever engineering can squeeze from cheap hardware, and you can actually run it if you own the board. Wenting Zhang turned the M5Stack PaperS3 e-ink dev kit into a Game Boy emulator: the ESP32-S3 drives the 960x540 panel with a custom fast partial-refresh driver, scaling the 160x144 original 3x and dithering it into the four Game Boy shades. One core runs the emulation (based on the CrankBoy emulator), the other pushes pixels and handles audio through a piezo buzzer that sounds rough but recognizable. Pre-built firmware is on M5Burner and the ESP-IDF source is public on GitLab. Performance is not always full speed, the on-screen touch buttons have no haptic feedback, and Bluetooth LE gamepad support is only partial. The single thing most likely to go wrong is getting the hardware: the PaperS3 is discontinued, so you will be shopping secondhand.
IN THE REPO
GOOD TO KNOW
- —Pre-built firmware is available through the M5Burner tool for M5Stack devices
- —ESP-IDF source code is public at gitlab.com/zephray/paperboy
- —The repository has no top-level licence file; the bundled minigb_apu audio code carries its own licence, and the upstream CrankBoy emulator is MIT-licensed
- —No CAD files are needed: it runs on the stock PaperS3 with no case or extra parts
- —The M5Stack PaperS3 dev kit is discontinued by the manufacturer
- —The repository README has not been written yet, so build instructions are missing
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
GameBoy Emulator on ESP32 + Eink (M5Stack PaperS3)10:27
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Get an M5Stack PaperS3 (The kit is discontinued. If you do not own one, look for a secondhand unit.)
- 2.Install M5Burner tool (The firmware flasher and app store for M5Stack devices)
- 3.Flash Paper Boy S3 firmware via M5Burner (Zhang uploaded Paper Boy S3 to M5Burner. If you would rather build it yourself, the ESP-IDF source is on GitLab.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The M5Stack PaperS3 is discontinued; CNX Software reports eBay listings at about twice the original price
- The repository README is still the stock ESP-IDF example text, so there is no written build guide for compiling it yourself
- Sound comes from a piezo buzzer using pseudo-polyphony; it is recognizable but does not sound like a real Game Boy
- Controls are on-screen touch buttons with no haptic feedback; Bluetooth LE gamepad support is only partial
- Performance is not always full speed, and both CPU cores run near their limit
- The code targets the PaperS3 specifically, so moving it to other e-ink hardware means porting the display driver yourself
Can I build this if I do not own a PaperS3?
Not directly. The code is written for the PaperS3's 960x540 e-ink panel and its raw panel driver interface. The source is public on GitLab, but porting it to other hardware would be your own project.
How does 60Hz e-ink work?
The PaperS3's panel exposes a raw row and column driver interface, so Zhang skips the slow standard e-ink waveforms and writes his own driver for fast partial refreshes. The 160x144 Game Boy image is scaled 3x and dithered to reproduce the four Game Boy shades, and the touch-button area at the bottom never needs refreshing.
What is the battery life?
No battery-life figure has been published. Tom's Hardware expects it to be short, because both CPU cores run near their limit and e-ink panels draw a lot of power when driven at 60 Hz.
Does it play real Game Boy cartridges?
No. It is an emulator running ROM files, not a cartridge reader.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Both CPU cores run flat out to push up to 60 Hz to an e-ink screen that was never meant for gaming. What would you try to emulate next if you owned the hardware?
Wenting Zhang
Wenting Zhang is the engineer behind Modos Labs, a company known for high-refresh e-ink displays, and runs the Wenting Channel on YouTube, where he shows his hardware hacking projects. Paper Boy S3 builds on his years of work on fast e-ink refresh, including the open-source Modos Flow monitor.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM1d ago
If you already own the discontinued M5Stack PaperS3, trying this takes minutes: flash Paper Boy S3 from M5Burner. The technical achievement is real: scaling a 160x144 Game Boy image 3x and dithering it onto a 960x540 e-ink display at up to 60 Hz with just an ESP32-S3. The source is public on GitLab, though the README is still a template. The biggest limitation is not the rough buzzer sound or the touch controls, it is finding the hardware.