InkBoy showing Link’s Awakening beside its custom controller. Image: frame from the project’s demo video, kuslota.
E-paper takes hundreds of milliseconds to refresh. InkBoy plays Game Boy games on it at about 30 frames per second anyway.
A standard partial update on this panel takes about 360 ms, which gets you two or three frames a second. InkBoy, by kuslota, skips that. It keeps a counter for every pixel, drives only the pixels whose target changed, and replaces the factory waveform with a one-frame one. The author’s write-up says a single scan takes roughly 20 ms in black-and-white mode.
The idea comes from PaperBoy, Wenting Zhang’s earlier e-paper project, which the README credits as inspiration. No PaperBoy code is included: PaperBoy drives the raw panel signals, and the project’s docs explain that this board’s controller does not expose them.
The hardware is a Waveshare ESP32-S3 board with a 200 by 200 screen, a speaker and a microSD slot. ROMs sit on a FAT32 card, with a browser menu, audio and automatic resume. Two display modes are on offer: fast dithered black and white, or four-shade grayscale. A separate ESP32-C3 gamepad, shaped like an NES pad, connects over Bluetooth or a USB-C cable.
The 30 fps is a display rate. The emulator runs at the Game Boy’s 59.7 internally, and the screen takes the latest finished image every 33 milliseconds.
The limits are stated plainly:
- It is a build project. You buy the board and the controller parts, then flash the firmware yourself with ESP-IDF.
- Only the custom InkBoy controller works. Generic gamepads are not supported; Bluetooth gamepad support is on the planned list.
- It plays original Game Boy games, up to 2 MiB. Color-only cartridges and ones with a real-time clock do not run.
- Busy scenes can drop below 30 fps, and grayscale mode leaves faint trails.
- The display drive is experimental. The README opens its warning with “Use at your own risk”: the drive may cause permanent image retention or panel damage, and long-term panel life has not been validated.
The code is MIT-licensed. The repository also bundles a GPL-licensed puzzle game, Big2Small.