Retro Handheld Video Game Console (Adafruit's PiGRRL 2)
by Cynthia Niaz
Project Overview
For this project, I built a handheld retro gaming console based on the PiGRRL 2 guide from Adafruit Industries. The goal was to create a portable game system using a Raspberry Pi 3, a PiTFT display, a custom gamepad PCB, and a 3D-printed case. I followed the general structure of the Adafruit tutorial, but I still had to do a lot of hands-on assembly, soldering, and troubleshooting to get everything working. I started by 3D-printing the front and back halves of the case and cleaning them up so the buttons and screen would fit correctly. After that, I assembled the gamepad PCB, which meant soldering all the 6 mm tactile buttons and the 40-pin box header. Installing the PiTFT Display came next, and that was mounted to the case along with the rubber button actuators. Once the gamepad and the PiTFT were in place, I connected them using a shortened PiCable so everything would fit more comfortably inside the enclosure. I installed the speaker and the PAM8302 audio amp, then mounted the shoulder buttons on their bracket and attached that into the bottom half of the case. The Raspberry Pi 3 mounts separately, along with the PowerBoost 1000C. I ended up using the recommended single LiPo battery, which mounts behind the display and connects directly to the PowerBoost. After wiring the switch and double-checking the power circuit, I tested the whole thing to make sure the Pi actually booted before closing the case. Once the hardware was working, I set up RetroPie on the SD card and installed the retrogame utility so the GPIO buttons would work. When all the controls were mapped correctly, I added my legally obtained ROM backups to test the system. It was able to run NES, SNES, Game Boy, and GBA games, and the audio, buttons, and display all behaved the way they were supposed to. Overall, building this project meant following the guide closely, but there were still plenty of steps where I had to figure things out myself—especially fitting the wiring inside the case and making sure everything lined up when closing it. In the end, I ended up with a working handheld emulator that plays retro games smoothly on the PiTFT screen.
Tools and Materials
- Electronics / Components
- Raspberry Pi 3
- 2.8" PiTFT Plus Display
- PiGRRL Gamepad PCB
- PAM8302 2.5 W Audio Amplifier
- Mini metal speaker
- 40-pin GPIO ribbon cable (PiCable)
- 2×20 IDC box header
- 10 × 6 mm tactile buttons
- 2 × 12 mm tactile buttons
- Slide switch
- PowerBoost 1000C
- Recommended single-cell LiPo battery (2000 mAh or similar)
- Wiring / Electrical Supplies
- Solder
- 30 AWG wire
- 26 AWG wire
- Heat shrink tubing
- Electrical tape
- Tools
- Soldering iron
- Wire cutters / wire strippers
- Helping hands or vise
- Multimeter
- #4-40 screw tap
- #2-56 screw tap
- #4-40 machine screws
- #2-56 machine screws
- Small Phillips screwdriver
- Flat pliers (for button prep)
- Fabrication Tools
- 3D printer
- PLA or ABS filament
- Hobby knife or file (for case cleanup)
- Mounting tack or small amount of glue