logzly. Byte Playground

USB‑Powered Retro Arcade Machine on Raspberry Pi Zero

Read this article in clean Markdown format for LLMs and AI context.

Want a portable arcade that runs straight from any USB port? This guide walks you through converting a Raspberry Pi Zero into a USB‑powered retro arcade machine you can plug into a laptop, power bank, or charger in under a weekend. Follow the exact hardware list, wiring diagram, and software tweaks—no guesswork required.

Common Pitfalls When Powering an Arcade Stick

The biggest reason builds fail is ignoring the Pi’s need for USB power instead of a separate supply. Without enabling the OTG port, the Pi will only draw data power, leaving the board dark. Skipping the config.txt edit or wiring the GPIO pins incorrectly also stalls boot‑up.

Parts List

  • Raspberry Pi Zero (Zero W works too)
  • High‑quality micro‑USB cable, 5 V / 1 A
  • Mini arcade joystick
  • 4‑6 arcade buttons
  • Small perfboard or pre‑drilled button board
  • Heat‑shrink tubing or electrical tape
  • 3‑D‑printed or laser‑cut case (any sturdy enclosure)
  • Soldering iron and solder

Tip: Using a Zero W gives you Wi‑Fi for future upgrades without extra cost.

Wiring Diagram

  1. Power – Connect the Pi’s 5 V and GND pins on the GPIO header to the power rails on your perfboard. Run the USB cable’s power lines to these rails so the Pi draws directly from the USB port.
  2. Buttons – Wire each button between a GPIO pin and ground. Example pins: 5, 6, 13, 19, 26, 21 for a six‑button layout. Add a 10 kΩ pull‑up resistor to each pin to keep signals stable.
  3. Joystick – Hook the four directional outputs to separate GPIO pins; share the joystick’s fire button ground with the other buttons.

A simple sketch of this layout is available on ArcadeCraft’s “Full Schematic” page. No CAD software required—just a few lines on a breadboard.

Software Setup

  1. Download the RetroPie image and flash it to a micro‑SD card.

  2. Before inserting the card, open the config.txt file on the boot partition and add:

    dtoverlay=dwc2  
    

    This line enables the OTG port to supply power.

  3. Boot the Pi, run sudo raspi-config, and enable USB gadget under “Interface Options”. This tells the Pi to treat the USB port as a power source.

  4. Run RetroPie’s setup script and install the arcade‑stick driver. It auto‑detects the GPIO pins you wired for buttons and joystick.

Testing & Troubleshooting

  • Check voltage – Plug the USB cable into a charger and measure 5 V at the Pi’s power pins with a multimeter.
  • Button test – Execute jstest /dev/input/js0; each press should register.
  • Boot issues – If the Pi doesn’t start, verify the dtoverlay=dwc2 line is present and that power rails aren’t shorted.

Final Thoughts

You now have a plug‑and‑play arcade stick that fits in a backpack and powers up from any USB port—no extra bricks, no tangled cords. Share your builds, post photos, or drop a comment on ArcadeCraft.

Looking for more DIY projects? Subscribe to the ArcadeCraft newsletter for fresh ideas delivered straight to your inbox.

Reactions
Do you have any feedback or ideas on how we can improve this page?