Building a portable retro emulation handheld on a Raspberry Pi Zero W with RetroPie is one of the classic maker projects, and in 2026 the recipe is well-established: a $10 Pi Zero W, a $25 3D-printed handheld shell with GPIO-connected buttons, a 3.5" TFT display, a small battery, and RetroPie 4.8+ preinstalled and configured for 8/16-bit systems. The result is a genuinely playable pocket emulator that runs NES, Genesis, SNES and Game Boy libraries flawlessly at 30-60 FPS, and works as a solid weekend project.
This guide is aimed at makers who own a soldering iron, a 3D printer or a maker-space membership, and a weekend. It walks through the parts list, the assembly steps, the software configuration, and the specific game systems the Pi Zero W can and can't emulate well. This synthesizes the excellent Adafruit and RetroPie community documentation, plus community measurements of what actually runs well on the underpowered Zero W silicon.
Key takeaways
- Pi Zero W is the correct board. Zero 2 W is a big step up in CPU (roughly 5× faster) but the Zero W's price and low power draw are the point. Buy Zero 2 W if you want to emulate PSX or later.
- RetroPie 4.8+ is the software base. Preinstalled EmulationStation, retroarch cores, and setup for the Pi Zero form factor.
- 8/16-bit systems play flawlessly. NES, Master System, Game Boy, GB Color, Game Gear, Genesis, SNES (with slowdown on some titles), Atari 2600-7800.
- PS1 is possible but marginal. Only lightweight titles at reduced framerate.
- Total build cost around $60-80 with a 3D printed shell and cheap TFT.
Parts list
| Part | Choice | Approx. price |
|---|---|---|
| Board | Raspberry Pi Zero W | $15 |
| MicroSD (game ROMs + OS) | 32GB Sandisk | $10 |
| Display | 3.5" or 2.8" TFT SPI display | $18 |
| Battery | 1000-2000mAh Li-Po | $8 |
| Charging board | TP4056 USB-C module | $3 |
| Buttons | 10× 6mm tactile switches | $3 |
| Speakers | 8Ω 0.5W mini speaker + PAM8302 amp | $4 |
| Shell | 3D printed enclosure | $2-5 filament |
| Wire | 30 AWG hookup wire | $2 |
| Screws | M2 assortment | $2 |
| Total | ~$67 |
For a comparison retro reference, the Sega Genesis Mini and Super NES Classic Edition are the officially-licensed "just plug in and play" alternatives — both are excellent, both have accurate emulation and beautiful shell design, but neither is portable and neither lets you add ROMs beyond the official 20-40 games.
Why the Pi Zero W specifically?
The Pi Zero W was released in 2017 as a $10-15 wireless-capable version of the original Zero. Its single-core BCM2835 SoC runs at 1 GHz — modest by modern SBC standards but exactly powerful enough for 8-bit and most 16-bit emulation with headroom to spare.
Alternatives to consider:
- Pi Zero 2 W — 5× faster CPU, same form factor, $15-20. Correct choice if you want PS1 or DS emulation.
- Pi 3B+ — much faster, larger, more power. Overkill for a handheld.
- Pi 4/5 — full-size boards, not handheld-friendly without larger shells.
For the classic "cheap handheld for 8/16-bit games" project, the Zero W remains the reference board.
The 3D-printed shell landscape
Community shell designs proliferate on Printables, Thingiverse and Instructables. The most popular families in 2026:
- PiGRRL Zero / Adafruit Zero form factor — Adafruit's original design, Game Boy DMG shape. Robust, well-documented, uses their button pads.
- RetroPocket — Game Boy Advance-inspired horizontal layout with landscape display.
- PocketPi — smaller, closer to Game Boy Micro proportions.
- DIY-Pi Zero — minimalist rectangular shell.
Pick one that matches your button count and display size. All four families print in 4-6 hours on a decent FDM printer.
Assembly walkthrough
Assembly time: about 2-4 hours for someone comfortable with soldering.
- Print the shell. 0.2mm layer height, 15% infill, PLA or PETG.
- Solder headers to the Pi Zero W. The Zero ships without headers; you need to solder 40 GPIO pins.
- Prepare the display. SPI TFT displays connect to 6-8 GPIO pins. Follow the specific pinout for your display module.
- Wire the button pads. 10 tactile buttons (D-pad × 4, A/B/X/Y × 4, Start × 1, Select × 1) each connect to a GPIO pin plus ground. Use short 30 AWG wires and hot glue for strain relief.
- Add the speaker + amp. The PAM8302 amplifier takes I2S audio from the Pi and drives a small 8Ω speaker. Wire the amp's power to the Pi's 5V rail.
- Wire the battery + charging board. TP4056 with the battery on B+/B-, output to the Pi's 5V pins. Add a slide switch on the power input for on/off.
- Test-fit everything in the shell. Confirm the Pi board, battery and speaker fit without pressure on the display cable.
- Screw the shell together. M2 screws through the shell's designed threads.
Flash RetroPie 4.8+ to the microSD before final assembly so you can test-boot before closing the shell.
Software: RetroPie 4.8+ setup
RetroPie is the standard Pi retro-gaming distribution. Download the image from retropie.org.uk and flash with Raspberry Pi Imager to the microSD.
First-boot configuration:
- Boot the Pi with a USB keyboard attached temporarily.
- Configure Wi-Fi via the
raspi-configtool or the RetroPie setup script. - Run the RetroPie setup script and install
retropie_setup.shoptional packages you want (specific emulators like PicoDrive for Genesis, FCEUX for NES). - Configure the TFT display driver — the specific SPI display you chose has a driver. Adafruit's PiTFT setup script or
fbcpfor framebuffer copy. - Map the GPIO buttons to controller inputs using the
gpionextdaemon or Adafruit's retrogame utility. - Load your ROMs via SFTP or the Wi-Fi share.
The GPIO button mapping is the fiddly step. Read the specific documentation for your button configuration; each shell family has a slightly different pin assignment convention.
What actually runs well
Community measurements on the Pi Zero W with RetroPie 4.8:
| System | Playability | Notes |
|---|---|---|
| Atari 2600 | Perfect | Trivial to emulate |
| NES | Perfect | Runs at full 60 FPS |
| Game Boy | Perfect | Original monochrome and DMG |
| Game Boy Color | Perfect | Full palette support |
| Game Gear | Perfect | Some titles need overclock |
| Master System | Perfect | 60 FPS |
| Genesis / Mega Drive | Very good | Some heavy sprites drop to 45-50 FPS |
| SNES | Good | Simple titles perfect, Star Fox / Yoshi's Island struggle |
| Neo Geo Pocket | Perfect | 60 FPS |
| Game Boy Advance | Marginal | 30-45 FPS with visual tearing |
| PS1 | Marginal | Only 2D titles playable |
| N64 | Not workable | Only the very lightest titles at slideshow speed |
For anyone who wants comfortable GBA and PS1 emulation, the Pi Zero 2 W — same form factor, 5× the CPU — is the correct upgrade.
Battery life expectations
A 1500mAh Li-Po running the Pi Zero W with a 3.5" TFT and audio at moderate brightness gives approximately 4-6 hours of playtime. The display is the biggest power consumer; a 2.8" display at lower brightness extends to 6-8 hours.
If you plan to play for full-day sessions, use a 3000-3500mAh battery — the shell design usually accommodates the larger cell with a small modification to the battery cavity.
The button feel problem
The single biggest quality-of-life issue with DIY Pi handhelds is button feel. Cheap 6mm tactile switches are clicky and unpleasant compared to the rubber-dome buttons of an actual Game Boy or SNES controller. Options:
- Better tactile switches. Kailh choc-low or Cherry MX ultra-low profile give a satisfying click but require larger cutouts.
- Silicone rubber pads. Adafruit and Pimoroni sell rubber D-pad and A/B button pads that feel much closer to Game Boy originals. These are the correct choice for a "feels right" build.
- Repurposed original controllers. Some builders desolder buttons from broken Game Boy DMG or SNES controllers and reuse them.
The silicone-rubber pad approach is the recommended path. Adds about $8-12 to the parts cost and dramatically improves the play experience.
Common pitfalls
- Underpowered battery. A 500mAh cell runs the Pi for barely an hour. 1000mAh is the practical minimum.
- Cheap TFT drivers. Some Chinese TFT modules ship with proprietary drivers that don't work with recent kernels. Stick to Adafruit or Waveshare modules.
- GPIO button bouncing. Some tactile switches double-fire without debounce. Use the retrogame utility's debounce feature.
- Overclocking without cooling. The Pi Zero W's SoC can be overclocked to 1.2 GHz for GBA emulation but needs a small heatsink to stay stable.
- Solder shorts on the Pi headers. The Zero W's 40 GPIO pins are tight; use a low-wattage iron and flux.
- microSD corruption on power-off. Add
syncto the shell script that runs on power-off, or use a proper shutdown button that gracefully halts the Pi. - Weak Wi-Fi. The Zero W's antenna is modest; if you plan to SSH in remotely or use netplay, the Pi Zero 2 W has better Wi-Fi.
When to skip this build
- You want smooth GBA / PS1 emulation. Buy the Pi Zero 2 W or a pre-built Anbernic RG35XX.
- You want zero soldering. Pre-built handhelds like the Anbernic RG35XX, Miyoo Mini Plus, or the RG351V are cheaper than a Pi build if you value your time at anything other than $0/hr.
- You want a large screen. 5" or larger displays exceed the Pi Zero W's SPI bandwidth; use HDMI-connected displays and a bigger board like the Pi 3B+.
- You want online netplay. The Zero W's Wi-Fi and CPU are marginal for netplay; use a Pi 4 or 5 instead.
Comparison: DIY Pi handheld vs commercial retro handhelds
| Option | Approx. price | Time to play | Portability | ROM flexibility |
|---|---|---|---|---|
| Pi Zero W + RetroPie build | ~$67 + weekend | 4-6 hours build | Excellent | Full |
| Sega Genesis Mini | ~$50 | 5 minutes | Not portable | 42 built-in games |
| Super NES Classic Edition | ~$70 | 5 minutes | Not portable | 21 built-in games |
| Anbernic RG35XX Plus | ~$45 | 1 hour setup | Excellent | Full |
| Miyoo Mini Plus | ~$60 | 1 hour setup | Excellent | Full |
For pure "let me play retro games portably" priorities, an Anbernic or Miyoo is better value than a DIY Pi build. For the maker experience and full customization, the Pi build is the correct choice.
Bottom line
A DIY handheld built on the Raspberry Pi Zero W with RetroPie is a classic weekend maker project that produces a genuinely portable 8/16-bit emulation console for around $70. The build teaches soldering, GPIO wiring and Linux configuration, and the finished device sits comfortably in a jacket pocket. It's the right project for anyone who wants to learn the maker skill stack; buyers who just want a working retro handheld should skip to an Anbernic or Miyoo pre-built or pick up a Sega Genesis Mini or SNES Classic for the couch.
Related guides
- Build a 2001 GeForce3 + Win98 SE Gaming Rig
- Raspberry Pi 4 NVMe Jellyfin homelab build
- Raspberry Pi 5 active cooler NVMe VESA case
Citations and sources
- RetroPie official website — canonical documentation and download source for the RetroPie distribution.
- Raspberry Pi Zero W official product page — board specs including CPU, wireless capabilities and GPIO layout.
- Adafruit PiGRRL Zero project page — reference build documentation for the PiGRRL Zero form factor and its assembly guide.
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
