Mostly Harmless

Mostly about my amusement

Menu Close

Pi Zero W makes for a compact Retropie box

Of course I did this with a Pi Zero W. 😉

One of the reasons I like the Raspberry Pi is that it lets you take hardware and turn it into a dedicated purpose based appliance. Cheaply! And one of those uses is to make a retro game system. I've used the Raspberry Pi Zero before but I was hampered by the fact that it lacks network and Bluetooth access. To get that you need to purchase a USB hub, wifi dongle and if you want it an Bluetooth fob.

The new Pi Zero W addresses that and adds both wifi and Bluetooth on the small package. Once it's setup all you need is an HDMI cable and power. That's it.

Here's how I did it with an 8Bitdo Bluetooth SNES style controller.

  1. Download Retropie for the Zero onto another Pi Zero (non-wireless one, I have a few). I could not get the image to boot on the new device so I setup a hub with a wifi dongle and keyboard on an old version.
  2. After the image reboots to resize the file system then F4 to get out of Emulationstation and on the command line run this command.
 sudo apt-get update ; sudo apt-get -y upgrade ; sudo apt-get -y dist-upgrade ; sudo apt-get -y autoremove 

That will take a while to run and you will need to read part of the upgrade and press Q at a point. That annoys me as those commands should run unattended. Meh.

The purpose of this is to get the underlying Raspbian OS up-to-date.

  • When you’re done run sudo shutdown -h now and swap the old Pi Zero for the Pi Zero W. Unplug the wifi dongle, you don’t need it anymore. Boot up the Pi Zero W with the keyboard attached via the USB adapter.
  • Once it boots up press F4 to get back to the CLI and run these commands.
  •  cd RetroPie-Setup sudo ./retropie_setup.sh 

    And select "U Update all installed packages" with your arrow keys. I don't know if that step is necessary but I do it out of habit. I like making sure I have the latest updates. That will take a long while too and reboot when it's finally done.

  • Update your new 8Bitdo controller to the latest firmware. On my Windows PC I updated my SFC30 to firmware 2.71.
  • Boot your Pi Zero W and press F4 exit Emulationstation and manually run the retropie-setup script again. Follow these instructions to connect your 8Bitdo controller and don’t forget to do the UDEV part. Reboot as needed.
  • Transfer ROMs via the wifi to your new device. I find that NES, SNES and Genesis games work well. MAME is a bit of dicey but older games played satisfactorily.
  • Connect to HDMI TV and have lots of fun.
  • The final parts list came out to this.

    Pi Zero W$10
    8Bitdo SFC30 Bluetooth controller$30
    Pi Zero CaseI used one I 3D printed
    Mini-HDMI cable adapter$20
    2A micro USB power adapter$8

    I already had the cables and power supply but I'm trying to be complete. Not counting the case it's ~$70 for this one player setup.

    It's not a Raspberry Pi 3

    The overall experience is good and if you limit your retrogames to the older 8bit systems then you'll like it. But the Pi Zero W doesn't have all the CPUs and RAM of the bigger Raspberry Pi 3. The good Neogeo games won't play well. Sometimes sound suffers due to CPU use. Lag is a thing.

    But if you have the technical know how this beats the Nintendo Classic by a mile.