Here is my entire build out of the RetroPie PiGrrl Zero Plus (WITH Sound) Retro Handled Gaming System. What an awesome and a fun project to build; since my time is limited this took about 3-4 days to fully complete. I did mess up in the beginning when I went to remove the the GPIO pins that come preinstalled. I actually removed 2 pad’s from the board and I had to retrace the entire pad’s back to the build (this costed me a day in build time).
The device itself is pretty nice the battery time lasts about 1-3 hours depending on usage the buttons are clicky I actually went and installed soft buttons of A,B,X,Y buttons and kept the clicky buttons on the DPAD. If you notice once I screwed down the screen the screws provided with the 3D printed build I over turned them causing the screws to come out of the plastic which pissed me off a lot. I was able to sand the plastic down which made it less noticeable.
This can play almost anything from Arcade, Atari, Super Nintendo, Nintendo. Almost everything up til N64 (I tested playing Nintendo 64 ROMs it loaded them just could not handle them on the Pi Zero).
Here are the following guides I followed:
Main PiGrrl Build from Adafruit:
PiGRRL Zero Plus Build by Jpete (Jpete 3d prints most of the cases and hardware I used for this build he also helped me out a lot during this build).
Some of the products I used:
Adafruit PiTFT 2.2″ – http://amzn.to/2qmOtML
Raspberry Pi Zero – http://amzn.to/2oFaEBi
PowerBoost 1000C – http://amzn.to/2qeVIHs
Battery Packs Lithium Ion Battery 3.7v 2000mAh – http://amzn.to/2pcdRa8
10x 6mm Tactile Buttons – https://www.adafruit.com/products/367
1x Slide Switch – https://www.adafruit.com/products/805
USB Mini Wifi Adapter – http://amzn.to/2ptDMLn
Tiny OTG Adapter – USB Micro to USB – http://amzn.to/2pcbowH
2×20-pin Strip Dual Male Header – http://amzn.to/2oQgaMK
Uxcell a13070200ux0794 SPST Momentary Push Button SMD Tactile Tact Switch, 6 mm x 3.5 mm x 4.3 mm – http://amzn.to/2oF8OAF
Products for the Audio
Mini Metal Speaker w/ Wires – 8 ohm 0.5W http://amzn.to/2oPXSvm
5Pcs 16mmx2mm 10K ohm Stereo Volume Control Wheel Potentiometer B103 http://amzn.to/2oTez9H
Adafruit Silicone Cover Stranded-Core Wire – 2m 30AWG White
Adafruit Silicone Cover Stranded-Core Wire – 2m 30AWG Yellow – http://amzn.to/2pGogN6
Adafruit Silicone Cover Stranded-Core Wire – 2m 26AWG Yellow – http://amzn.to/2pccqZr
Hakko CHP CSP-30-1 Wire Stripper, 30-20 Gauge Maximum Cutting Capacity – http://amzn.to/2ptt4US
These helping hands helped me out so much in this build
QuadHands™ Flex – Helping Hands Soldering Tool Add On – Add Four Flexible Metal Arms to Your Favorite PanaVise – http://amzn.to/2oT6nXg
PiGRRL Zero Plus Case https://www.etsy.com/listing/46545611…
PiGRRL Buttons https://www.etsy.com/listing/45984778…
PiGRRL PCB Gamepads https://www.etsy.com/listing/48642710…
PiGRRL Screw Kit https://www.etsy.com/listing/28069127…
I’ve been testing RetroPie / EmulationStation / HyperPie / AttractMode custom images for months my favorite with the best interface has to be hands down HyperPie. It could be a little laggy and time consuming finding the right ROM/Game you want. However the different mods from running ROMs via USB, Creating a favorites list and the customizations available are endless.
First i’m going to start with all of the products that I used in my RetroPi/Raspberry Pi build.
CanaKit Raspberry Pi 3 Kit with Clear Case and 2.5A Power Supply
This kit is great because it comes with the 2.5A power supply which is good for overclocking, it also includes the Raspberry Pi 3 B model, heatsinks and the case which I haven’t used. I always switch it for a fan powered case. $49.99 (Purchase)
Sliced 9 Layers Case Box + Cooling Fan +micro
Next I start off with 9 layer fan powered case which will keep your Raspberry Pi / RetroPie cool when you eventually overclock your device and it looks cool too! $10.97 (Purchase)
SanDisk Ultra 128GB microSDXC
Next you want to make sure you have a good MicroSD card. I would stay away from buying these 2nd hand and do not buy them from eBay. I’ve purchased several from there and they were absolute garbage in the end caused me more money and headaches. Also if you are using HyperPie I would stick with the 128GB version or 200GB version depending on what type of ROMs you are adding the HyperPie image itself takes about 60GB. 128GB $39.99 (Purchase)
Nintendo Wii U Pro Controller – Black
I’ve tested almost every controller for the RetroPie and I always went back to using the Wii U Pro controller. I tried controllers from Xbox, PS3, 8bitDo, etc. The Wii U Pro controller just feels right. I’ve left the controller hooked up to the RetroPie for a full day I came back and it was still responsive. It’s a lot more expensive then most controllers but it’s worth. Also beware of fake knock-off brands. $39.99 (Purchase)
High-Speed HDMI Cable – 3 Feet
If you do not have an HDMI cable laying around you are going to need one. Any HDMI cable will do just make sure it’s long enough for your TV. $6.99 (Purchase)
Product Break down:
Setting up your RetroPie Image
Now that you have purchased and hopefully received your products it’s time to setup the RetroPie / HyperPie image onto your MicroSD.
You will need to download the following files.SD Formatter V4 (61 downloads) (This is to format your Micro-SD Card clean so you can begin to write the IMG file to your card). Win32Disk Imager (52 downloads) (This is the tool used for reading/writing .img files and making them bootable for your microsd). RetroPie - [Custom Img] - HyperPie (Mega) (681 downloads) (The main image that you will be writing to your MicroSD).
Good to know: If you are accessing your RetroPie installation over SSH the default Raspbian username is
piand the default password is
Copy the existing ‘roms’ folder structure to your server
For EmulationStation to be able to see your rom files the paths given to it within
/etc/es_systems.cfg need to be recreated on your networked server. Connect to your RetroPie and browse to its roms folder for reference on how each system folder is named. Either copy these folders to your networked server or manually create the folders on your networked server using the same directory names.
If you prefer to not use the EmulationStation system directory names and keep the current folder structure you have on your networked server you’ll need to edit
es_systems.cfg. Use this command to copy the configuration file to the home directory wherein it will be editable through SMB (//RETROPIE/configs/all/emulationstation) or FTP.
cp /etc/emulationstation/es_systems.cfg /home/pi/.emulationstation/es_systems.cfg
Mount your Share
If you haven’t already, now is a good time to tell Raspbian to wait for your network at boot.
In there, select “Boot Options” and tell it Yes.
sudo nano /opt/retropie/configs/all/autostart.sh
Add the following line to the top of that file, being sure to adjust it for your personal settings, paths and options. This will make the local roms folder use your remote server roms folder instead.
sudo mount -t cifs -o username=something,password=something //REMOTEHOST/path/to/roms /home/pi/RetroPie/roms
Good to know: If you’d like to host the entire RetroPie folder remotely you can do so by removing the
/romsdirectories from the mount command above. Make sure to have a copy of the RetroPie installation on your remote server or EmulationStation won’t be able to start RetroPie!
Restart your Raspberry Pi with
sudo reboot or by simply unplugging the power cord.
Alternatively, if you have a shared folder that allows guest access, you can use the following line in your
sudo mount -t cifs -o guest,uid=pi //hostname/retropie /home/pi/RetroPie
This should also allow you to write save files to your NAS.
Option 2: Add to fstab
Using your favorite editor, open up fstab:
sudo nano /etc/fstab
Add the line to mount your network share. Mine looks like this:
//192.168.1.10/Storage/ROMs /home/pi/RetroPie cifs username=Username,password=Password,nounix,noserverino,defaults,users,auto 0 0
First, make sure it will mount:
sudo mount -a
Restart and check the folder to make sure it didn’t have any issues mounting at boot
sudo ls RetroPie/roms/snes
With any luck (and if you have a ton of SNES ROMs like myself), it will be fairly apparent that it was able to mount the share at boot.
Go ahead and make sure everything works. Don’t get to far into a game though, you might not be able to save. If you hit ‘Select + R’ (default save command) and it gives you an error, the easiest solution I’ve found is as follows.
We need to edit retroarch.cfg by deleting the # infront of the savestate_directory and savefile_directory lines and put in the desired path. I’ll be using ~/RetroPie-Save. First, make the target folder:
cd mkdir RetroPie-Save sudo nano /opt/retropie/configs/all/retroarch.cfg
Mine looks like this:
savestate_directory = /home/pi/RetroPie-Save savefile_directory = /home/pi/RetroPie-Save
If you already have some save files, it would be a good idea to move them to the ~/RetroPie-Save folder we created.
For more information please visit: https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-Network-Share