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.

by Wenting Zhang

FULL CAD BOM FIRMWARE DOCS

Open-hardwareDisplays

Built withESP32

difficulty
●●●●○
time
a weekend-plus
license
license not specified
repo
repo ACTIVE11 stars
1
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.

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?

Printnothing required
BuyM5Stack PaperS3 dev kit (discontinued, secondhand only)
ToolsM5Burner to flash the pre-built firmware, or ESP-IDF to build from source
SkillsMinimal if you own the hardware: flash and play. Building from source needs ESP-IDF experience.
TimeMinutes to flash if you have the PaperS3. Longer if you build from source, since there is no written build guide yet.
Cost$$, dominated by the discontinued PaperS3 dev kit if you can find one secondhand
SafetyNone beyond ordinary electronics care.

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 projects

Gallery

cdn.mos.cms.futurecdn.net
img.youtube.com
cdn.mos.cms.futurecdn.net

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Get an M5Stack PaperS3 (The kit is discontinued. If you do not own one, look for a secondhand unit.)
  2. 2.Install M5Burner tool (The firmware flasher and app store for M5Stack devices)
  3. 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?

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.

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.

GitHub

Star the project on GitHub

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.