Yanko Design

Someone Stuffed a Full Retro Console Inside an NES Controller for $17

[LGL] Building an 8-Bit Retro Console with ESP32-S2

Most original NES controllers haven’t seen active duty in decades. They survive in storage bins and attic boxes, physically intact and perfectly functional as controllers, but with nothing left to plug them into. The consoles they were paired with have long since been replaced or decommissioned. The hardware was always well built, but the form factor has been sitting idle for years.

This mod changes the job description of that controller shell entirely. The electronics inside a standard NES-style gamepad were stripped out and replaced with a Wemos ESP32-S2 Mini development board, a 1.54-inch 240×240 TFT display, a MicroSD card module, a 500 mAh lithium-polymer battery, a charging board, a speaker, and a slide power switch. From the outside, it still looks exactly like an NES controller.

Designer: Logic Gate Labs

Choosing the right processor was essentially a geometry problem. A larger ESP32-S3 would have offered dual-core performance and enough PSRAM to keep entire game ROMs in memory, but it was too big to fit inside the housing. Smaller ESP32 variants without PSRAM lacked the memory for smooth emulation. The ESP32-S2 Mini landed in the narrow window between board size and processing capability that the build required.

Getting everything to fit required real surgery on the shell. Internal plastic supports had to be trimmed back to make room for the display, and new openings were drilled for the screen, USB charging port, MicroSD slot, speaker, and power switch. A bare copper wire serves as a central ground distribution rail, cutting the number of individual ground wires needed and making it possible to actually close the controller afterward.

On the software side, the device runs the Retro-Go emulator framework, compiled using ESP-IDF and CMake since the ESP32-S2 isn’t a standard Retro-Go target. The result handles a range of classic 8-bit systems comfortably. As a bonus, Doom runs via PrBoom-Go from a Freedoom WAD file loaded on the MicroSD card, managing somewhere between five and 15 frames per second depending on the scene.

The total build cost runs about $17 using common suppliers, or closer to $8 when sourcing directly from overseas markets. That puts the project well under the price of a single modern game release. Flip the power switch, select a ROM from the MicroSD card, and the screen loads games that once required a dedicated console and television setup. No additional hardware is needed.

What makes this more than a novelty is how it reconsiders a form factor most people already have muscle memory for. The D-pad clicks the same way it always did, and the A and B buttons carry the same spring. What changed is where the signal goes after the press. Instead of traveling to a console that no longer exists, the controller now processes it directly inside its own shell.

The Retro-Go framework is open source, the parts are widely available, and the NES controller shell is one of the most common pieces of vintage hardware still circulating through the secondhand market. Nothing about this build required specialized equipment or proprietary components. The total part list costs less than a single new game on any current platform and fits inside hardware that most people already own.

Exit mobile version