Skip to main content
Build a Pocket Retro Emulation Handheld on the Raspberry Pi Zero W in 2026

Build a Pocket Retro Emulation Handheld on the Raspberry Pi Zero W in 2026

A $10 board, a 3D-printed shell, and one weekend gets you a pocket handheld that emulates NES through PS1. Here's the exact BOM, the wiring, and the tuning that makes it feel right.

Full build guide for a pocket-sized retro emulation handheld on the Raspberry Pi Zero W. NES/SNES/Genesis/GBA/PS1 support, 4-8 hour battery, all under $80.

Short answer: yes — a Raspberry Pi Zero W plus a 2.4" IPS screen, a lithium cell, a small speaker, and a 3D-printed shell gets you a genuine pocket-sized retro handheld that plays NES through light PS1 at 4-6 hours of battery, for under $80 total. This is a weekend project — no soldering iron required for the basic build if you use a HAT-style adapter, and one evening more for a fully-custom wired build.

Why build one at all when store-bought handhelds exist?

You can buy an Anbernic or Miyoo Mini for a similar price and skip the build. The reason to DIY is the same reason people build their own mechanical keyboards or restomod cars — you learn the stack, you tune the exact feel you want, and you can repair it forever. A DIY Pi Zero W handheld is also a rare project where the parts truly cost less than the finished commercial product, because you're not paying for injection-molded shells at scale.

Also: as of 2026 the retro-handheld scene has settled on a shared codebase — RetroArch and RetroPie — which means the software side is boringly reliable. What used to be a scary configuration project is now a wizard-driven setup.

Key takeaways

  • Total BOM under $80 with a Vilros Pi Zero W starter kit as the base.
  • Runs NES / SNES / Genesis / GB / GBC / GBA / SMS full-speed, PS1 with tuning.
  • Battery life 4-6 hours on a 2000 mAh cell for 2D emulation.
  • One weekend build if you follow the printed-shell path; longer for a hand-wired custom.
  • No soldering required if you use a pre-made control-board HAT.
  • Great "buy a real desktop" upsell path if you outgrow the handheld — a Pi 4 8GB covers heavier emulation (N64, DS) in a bigger shell.

The parts list

ComponentSuggested partApprox cost
SBC + basicsVilros Raspberry Pi Zero W Starter Kit$28
Screen2.4" IPS 320×240 SPI display$16
Battery2000 mAh 3.7 V single-cell lithium$9
Charger boardTP4056 with protection$2
Boost converter5 V step-up module (2A)$3
Audio amp + speakerPAM8302 + 4Ω 1W speaker$4
Controller HATPi Zero gamepad HAT (kmboxpro / RetroFlag)$18
Shell3D-printed PLA case~$4 in material
Storage32 GB Class-10 SanDisk microSD$8

Round trip about $92 at retail, or ~$78 if you already have the microSD and 3D-print material on hand. Total build time: 4-6 hours if you follow this guide; longer if you get into custom firmware.

Step 1: prep the Pi and RetroPie

The software is the boring part, and boring is good. Flash the RetroPie image for Pi Zero using the official RetroPie docs or the Raspberry Pi Imager. Boot the Pi headless the first time with SSH enabled, connect it to your Wi-Fi, and let it complete first-run configuration. Update package lists (sudo apt update && sudo apt upgrade) before installing anything else.

Enable SPI in raspi-config since we'll drive the screen over SPI later. Also enable I2C if your controller HAT uses it. Reboot after config.

Step 2: install the screen driver

Most 2.4" SPI screens use the ILI9341 controller. The fbcp-ili9341 driver renders the Pi's framebuffer to the SPI display at 60 fps with negligible CPU cost, which is what makes this build feel snappy.

bash
sudo apt install -y cmake
git clone https://github.com/juj/fbcp-ili9341.git
cd fbcp-ili9341
mkdir build && cd build
cmake -DILI9341=ON -DSPI_BUS_CLOCK_DIVISOR=6 -DSTATISTICS=0 ..
make -j
sudo ./fbcp-ili9341

If the screen boots blank, halve the SPI clock divisor. If it flickers, add a small ceramic decoupling cap across the screen's power pins. Once it stably shows the RetroPie menu, add the command to /etc/rc.local so it runs on boot.

Step 3: wire the controller HAT

The lazy path is a pre-built HAT — the Retroflag or kmbox Pi Zero controller HAT drops onto the GPIO header and exposes buttons and a D-pad through gpio-mapper. That works, no soldering, five minutes.

The custom path is soldering discrete buttons to specific GPIO pins and configuring gpiozero mappings. The tradeoff is exact button placement in your printed shell. If you're the kind of maker who wants to tune the D-pad throw and the A/B button spacing, wire discrete tactile buttons — Cherry MX-lite low-profile switches feel great in a handheld shell.

Step 4: audio

The Pi Zero W has no built-in audio jack. Two options:

  1. PWM audio via GPIO 18 with an RC filter and a small amp like the PAM8302. Cheap, works, hisses slightly at low volume.
  2. I2S audio via a small DAC HAT. Cleaner sound, adds ~$8 to the build.

For a pocket handheld the PWM path is fine — you'll play through the tiny speaker, not headphones, and the noise floor is masked by the speaker's own limits.

Wire the amp to GPIO 18 through an RC low-pass filter (~1 kΩ + 47 nF), then to the amp's input. Amp output goes to the 4Ω 1W speaker. Connect amp power to the 5V rail after your boost converter.

Step 5: power

Two subsystems: charging the battery and delivering stable 5V to the Pi.

  • Charging: TP4056 module with protection. USB-C micro-B input, JST connector to the battery. It handles constant-current then constant-voltage charging automatically and cuts off at 4.2 V. Add a small physical switch to isolate the battery when the handheld isn't being played long-term.
  • Boost converter: step 3.7 V (battery) up to 5 V for the Pi. A cheap MT3608 module works for the ~600 mA the Pi Zero + screen + amp draws; use a 2A-rated module for margin.

Ground the shells of everything to one common ground rail. The Pi is sensitive to voltage droop under load; if you see reboots during gameplay, add a 220 μF electrolytic capacitor across the 5 V rail near the Pi.

Step 6: shell

Two paths: 3D-print a shell from an existing model (Thingiverse and Printables have dozens of Pi Zero handheld shells), or design your own in Fusion 360 / OnShape.

Recommended existing designs as of 2026:

  • PiGrrl Zero — the original, well-documented, community-tested.
  • Retro-Lite CM4 — bigger, uses a CM4 module; overkill for a Pi Zero W but the design is beautiful.
  • Pico8Retro — minimalist single-piece design, no hardware fasteners needed.

Print in PLA or PETG at 0.2 mm layer height, 20% infill, four walls. A print takes about 6 hours on a stock Ender 3-class printer. Sand the button holes to fit your specific switches — printer tolerances vary and you don't want binding.

Step 7: RetroArch config

RetroArch cores handle the actual emulation. Recommended cores for a Pi Zero W:

SystemRecommended coreNotes
NESfceummFull speed
SNESsnes9x2010Full speed on Pi Zero W
Genesisgenesis_plus_gxFull speed
Game Boy / GBCgambatteFull speed
GBAgpspFull speed with frame skip 1
Master Systemgenesis_plus_gxFull speed
PS1pcsx_rearmed90-100% on 2D titles; drop resolution for 3D
N64skipWon't run acceptably on Pi Zero W

For PS1, enable dynarec, drop internal resolution to 1x, and disable interlacing. Titles like Symphony of the Night, Final Fantasy VII (with occasional stutter), and Crash Bandicoot run playably.

Step 8: dial in the feel

The build "works" after the software boots. It "feels right" after tuning. Time spent here is the difference between a project and a keeper.

  • Button feel. Test all buttons and swap tactile domes until you're happy. Cherry MX-lite feel great; cheap dome tactile switches feel mushy.
  • Screen brightness. SPI displays often have a backlight PWM input on a spare GPIO. Wire it and add a brightness slider in EmulationStation.
  • Shoulder buttons. Add them if the shell supports it. GBA and PS1 depend on them.
  • Save states + rewind. Enable in RetroArch settings. Life-changing for retro play on a small screen.
  • Sleep on lid close. If your shell has a magnetic lid switch, wire it to GPIO and let the Pi suspend cleanly.

Common pitfalls

  • Underpowered PSU during charging. A 5V/1A charger takes ~5 hours to fill a 2000 mAh cell. Use a 5V/2A supply for ~2.5 hours.
  • No BEC / reverse polarity protection. Add a Schottky diode inline with the battery. Cheap insurance.
  • Screen flicker. Almost always inadequate power decoupling. Add caps across screen power pins.
  • Audio hiss. RC filter values off — try 4.7 kΩ + 22 nF for cleaner PWM audio.
  • Buttons sticking in shell. Sand the holes. Every printer's tolerances are different.
  • Boot fails after adding the screen driver. SPI conflict with another peripheral. Check dmesg on first boot.

When to upgrade to a bigger shell

If you find yourself wanting N64, DS, or PSP emulation on the handheld, the Pi Zero W isn't the right chip. A Pi 4 8GB in a bigger shell handles all of the above at full speed. The trade-offs are size, weight, and heat — a Pi 4 is not pocketable in the same way. For that upgrade, look at the Retro-Lite CM4 or a full-size arcade-style shell. Also swap the SD card for a proper USB-attached Crucial BX500 SATA SSD via a UASP enclosure — model and ROM load is much faster.

For pure retro (NES through GBA) in your pocket, the Pi Zero W stays the right chip.

The related retro-hardware picks

If you want physical retro cartridges for your handheld and haven't already, a Transcend CF133 CompactFlash card works as a boot medium for Win98-era retro PCs (companion article) and as an archival ROM store for your dumped legal cartridges. Overkill for the Pi Zero build itself — the microSD is fine — but useful once you have a broader retro workflow.

Total-cost-of-ownership and reliability outlook

A Pi Zero W handheld build should run reliably for 5+ years with minor consumables (battery replacement every 300-500 cycles, USB-C connector wear-out around 5000 cycles). Total lifetime cost including one battery replacement: ~$95.

Compare that to a commercial handheld like an Anbernic or Miyoo Mini around $70-90 up front. The commercial handheld's advantage is instant gratification and a polished commercial firmware; the DIY handheld's advantage is repairability (every part is standard, every screw is off-the-shelf) and the deep customization option.

The reliability outlook depends heavily on your build quality. The three failure modes we've seen most often in the community:

  • Battery pouch damage from case pressure. Use a rigid battery holder, not a raw pouch under a case shell.
  • Screen ribbon flex cracks. Route the flex cable with a strain-relief loop.
  • USB-C connector sheared off the charge board. Reinforce the connector with epoxy or use a board with a soldered-through-hole USB-C jack.

Any of these are 10-15 minute repairs on a DIY build. On a commercial handheld they're often board-swap events.

What to consider building next after the Zero W

Once you've built one handheld, the natural next steps are:

  • Bigger shell with a Pi 4 8GB — handles N64, DS, PSP. Not pocketable, but a full-featured desk handheld.
  • CM4-based build — the compute module packaging is more compact and industrial. Best for a permanent build.
  • Handheld + docking station — HDMI out and controller pass-through when you dock, so the same device drives the TV or the palm.

A Crucial BX500 1TB SSD in a USB 3.0 enclosure is nice on a Pi 4 build for the same reason it's nice on the local-LLM build: fast model / ROM load and no SD card wear-out. Overkill on the Zero W (USB 2.0 caps the transfer speed anyway).

Bottom line

A Raspberry Pi Zero W is enough to build a pocket retro handheld that plays NES, SNES, Genesis, GBA, and light PS1 for 4-6 hours on a single charge. Total BOM under $80, weekend build, and the platform is boringly reliable because RetroArch has consolidated the retro emulation ecosystem. Upgrade to a Pi 4 8GB in a bigger shell only if you actually want N64/DS/PSP.

Related reading: our Pi 4 8GB local LLM guide, CompactFlash boot disk for Win98 retro rigs, and Sega Genesis Mini vs SNES Classic.

Sources

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Find this retro hardware on eBay

Pre-2012 hardware isn't sold new on Amazon. eBay is the primary marketplace for the SKUs discussed in this article — auctions and Buy-It-Now listings update continuously.

Search eBay for "Build Pocket Retro Emulation Handheld" Live listings →

SpecPicks earns a commission on qualifying eBay purchases via the eBay Partner Network. Prices and availability change frequently.

Frequently asked questions

Which systems will actually run well on a Pi Zero W?
NES, SNES, Genesis, Game Boy, Game Boy Color, Game Boy Advance, and Master System all run full-speed with room to spare. PS1 runs at close to full speed with the right emulator configuration but occasionally chokes on 3D-heavy titles. N64 is a hard no on the Pi Zero W — the CPU can't keep up with dynamic recompilation. Stick to 2D-era systems and light PS1 for a smooth experience.
How long will the battery last?
A single 2000mAh lithium cell drives the Pi Zero W plus a 2.4-inch screen for 4-6 hours of continuous SNES play, and closer to 8 hours with the screen dimmed. PS1 emulation cuts that by roughly 30% because the CPU runs hotter and consumes more current. A 3000mAh cell buys you another 2-3 hours and only adds ~10g of weight — worth it if your case has the room.
Do I need a Pi Zero 2 W for this build?
The Pi Zero 2 W is faster and handles PS1 and DS emulation better, but the original Pi Zero W is enough for the 2D-era systems that are the emulation sweet spot on a handheld. If you can find a Pi Zero 2 W at reasonable price, take it. If Zero 2 W stock is dry or expensive, the Pi Zero W in a [Vilros starter kit](/product/B0748MBFTS?tag=specpicks-articles-20) is still a fine build and about half the price when both are available.
Can I use SD cards or should I go with a real SSD?
SD card is right for this build — a Pi Zero W has no USB 3.0 and no SATA, so external storage is limited to USB 2.0 speeds anyway. A quality Class-10 SD card is fast enough for ROMs and OS. If you have a bigger build (Pi 4 8GB in a heavier shell), a [Crucial BX500 1TB SATA SSD](/product/B07YD579WM?tag=specpicks-articles-20) via USB 3.0 is worth it. On a Pi Zero W, spend that money on a better screen or battery instead.
Is this legal? Where do I get ROMs?
Emulator software (RetroArch, RetroPie, mupen64plus, etc.) is legal to install and use. ROMs of games you don't own are copyright infringement in most jurisdictions. The legal path is to dump ROMs from cartridges you already own using a hardware dumper (Retrode, Sanni Cartridge Reader, or similar). Homebrew and public-domain ROMs are always fair game. This guide focuses on the hardware and setup — sourcing your ROMs legally is on you.

Sources

— SpecPicks Editorial · Last verified 2026-07-05

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →

More buying guides from SpecPicks

Browse all buying guides →