Logic Gate Labs cracked open an old retro console expecting a dense board and found mostly air. The NES-style controller bundled with it was just as hollow. Modern silicon runs 1980s emulators with room to spare, so that empty gamepad shell became the entire project: build a full handheld gaming system into a controller that used to do nothing but send button presses.
What ended up inside the shell
Stripped down to plastic, buttons, and D-pad, the controller had just enough space for a working console. The finished handheld plays 8-bit classics, and as a bonus it runs Doom. Logic Gate Labs pegs the parts cost at around $17 with commonly available components, or roughly half that if you order directly from overseas marketplaces. Everything closes back up inside the original housing, so it still looks like a plain NES gamepad until you power it on.
How it was wired and squeezed in
The parts list is short and specific:
- Wemos ESP32-S2 Mini development board
- 1.54-inch 240×240 TFT display
- MicroSD card module for game ROMs
- 500 mAh lithium-polymer battery with a TP4056 charging board
- Small speaker and a slide power switch
Board choice was a real trade-off. An ESP32-S3 brings dual-core speed and PSRAM to hold whole ROMs in memory, but it was physically too big for the housing; smaller variants without PSRAM could not emulate smoothly. The S2 Mini split the difference. Internal support ribs were trimmed and fresh openings drilled for the screen, USB port, MicroSD slot, switch, and speaker. To dodge a rat’s nest of ground wires, a thick bare copper wire runs through the shell as a central ground rail, with thin signal wires feeding each pin so the case still shuts.
Software is the Retro-Go emulator framework, compiled with ESP-IDF and CMake because the ESP32-S2 is not a standard Retro-Go target. Doom came later through the PrBoom-Go engine loading a Freedoom WAD off the MicroSD card.
The takeaway
At 5 to 15 frames per second the gameplay is not arcade-perfect, but a full emulator living inside a $17 gamepad is a genuinely tidy hack. If you want to copy it, start with the source build write-up at Hackster, grab a Wemos ESP32-S2 Mini, and read the Retro-Go build notes before you touch a soldering iron.
Frequently Asked Questions
Which board powers this handheld, and why not an ESP32-S3?
It uses a Wemos ESP32-S2 Mini. The ESP32-S3 has dual cores and PSRAM for smoother emulation, but it was too large to fit inside the controller shell. Smaller variants without PSRAM could not emulate cleanly, so the S2 Mini was the practical middle ground.
How much does the build cost and what does it play?
Logic Gate Labs estimates about $17 in commonly available parts, or roughly half that sourced from overseas marketplaces. It runs the Retro-Go framework for 8-bit classics and even boots Doom via the PrBoom-Go engine at 5 to 15 fps.
What will I learn if I build this?
You will practice tight enclosure packaging, planning a shared ground rail with a bare copper wire, soldering thin signal wires in cramped space, and compiling firmware with ESP-IDF and CMake for a non-standard target. It is a solid crash course in embedded hardware plus emulation software.
