Cairo Handheld Retro Game Console
A custom-engineered, rechargeable handheld game console powered by the ESP32-S3 and Retro-Go firmware—designed from scratch with open-source hardware, a custom KiCad PCB, and a 3D-printable casing.

The Cairo Retro Game Console
This project is an open-source, fully custom handheld retro gaming console built around the dual-core ESP32-S3 microcontroller. Powered by the optimized Retro-Go firmware, the device brings classic retro titles to life—supporting emulators for the NES, Game Boy, SEGA Master System/Game Gear, DOOM, and more. From the ground up, the hardware is tailored for portable play, featuring a custom-designed KiCad PCB that integrates the display interface, input controls, and dedicated power regulation directly into a single compact board.
Designed for self-containment and long play sessions, the console is powered by a high-capacity 18650 Lithium-Ion battery managed by a TP4056 charging circuit for safe USB recharging and smooth power delivery. Every component rests inside an ergonomically modeled, 3D-printable enclosure created specifically for this build. As an open-source release, all hardware schematics, PCB layout files, and 3D enclosure models are freely available to help fellow makers build, modify, and customize their own portable gaming rig.

Parts List
Below you can find all the parts that I used to build the Cairo Retro Game Console. You can easily print, export, or open on your computer!
We are editing this file frequently to make sure that it’s always up-to-date and to make it easier for you to build the Cairo Retro Game Console on your own. Don’t worry, we made a full build guide for you to follow. Find it at the end of this page 😉
Source Files
For hardware enthusiasts and custom builders, the complete circuit schematics and production files are available for download below. Download the original KiCad project files to modify the circuit, customize component layouts, or adapt the PCB for your own console variations.
Download the production-ready Gerber files to manufacture the PCB. These files are ready for standard PCB manufacturing services or home-fabrication methods such as CNC PCB milling or chemical acid etching.
Below, you can download the STL files. You can use those files to 3d print the Cairo Retro Game Console enclosure parts. Settings I use to print them: 15% infill, 0.2 mm layer height (with a 0.4 mm nozzle). Choose your preferred colors and be unique 😉
If you are going to order or manufacture that on your own just simply send those files to any makerspace or a fab lab with a 3d printer machine. All STL files are in mm.
| Part Name | Quantity |
| Top_STL_X1.stl | 1 |
| Bottom_STL_X1.stl | 1 |
| Control_buttons_STL_X2.stl | 2 |
| DPad_button_STL_X1.stl | 1 |
| Menu_buttons_STL_X4.stl | 4 |
| Top_Spacers_STL_X2.stl | 2 |
| Top_Spacers_Above_Screen_STL_X2.stl | 2 |
| SD_Card_Adapter_Spacers_STL_X2.stl | 2 |
| Below_Screen_Spacers_STL_X4.stl | 4 |
| Bottom_Spacers_STL_X4.stl | 4 |
| Top_Buttons_Decor_STL_X1.stl | 1 |
| DPad_Buttons_Decor_STL_X1.stl | 1 |
| Action_Button_Decor_STL_X1.stl | 1 |
| Speaker_Holder_STL_X1.stl | 1 |
We are always amazed by the community builds! We are encouraging you to make edits and fork our design. Here you can download the STEP file of the Cairo Retro Game Console.
Here, you can see a 3D live view for the Cairo Retro game console.
Firmware
The Cairo Retro Game Console is powered by Retro Go, an open-source firmware developed by ducalex and the community. Follow the steps below to flash the firmware to your ESP32-S3 and prepare your SD card.
- Step 1: Download the latest ESP32-S3 image file (.img) from the Retro Go GitHub repository:
- Step 2: Connect your ESP32-S3 board to your computer using a USB cable.
- Step 3: Open the ESP Web Tool in a Web Serial–supported browser (Chrome or Edge).
- Step 4: Follow these flashing settings:
- Erase Flash: Perform a full erase of the flash memory.
- Select File: Choose your downloaded .img file.
- Address: Set the flash offset address to 0x0.
- Program: Click Program to begin flashing.
Once complete, your ESP32-S3 is ready to boot and detect the SD card.
- Step 5: Prepare the SD Card
- Format: Format your microSD card to FAT32 before adding any files.
- Extract & Copy: Download the SD card package below, extract the .zip file, and copy all contents directly to the root directory of your microSD card.
Donations
Donations are totally optional and not necessary, but greatly appreciated!

Build Guide
Coming Soon!
Gallery




