Building the Porta-Pi Arcade Lite
After completing a number of simple Raspberry PI tutorials, I decided I wanted to try and build a Porta-Pi Arcade Lite Raspberry PI retro gaming system. Since I already have a projector, several monitors and a TV the lite model without a built in screen really appealed to me.
I also liked that the Porta-Pi kits are designed and produced by one guy, Ryan Bates, that had a successful kickstarter. I really appreciated that Ryan had continued to design and provide new DIY kits after his kickstarter since a lot of other projects seem to stop providing DIY kits and outsourcing everything once they become popular.
On top of the standard build I wanted to add a power button, and use a joystick with individual micro-switches so it is more obvious how everything works for my daughter.
I ordered the laser cut wood kit from RetroBuiltGames and downloaded the PDF build manual with a bill of materials and set about ordering parts. Being a software engineer every project needs to have some feature creep so some of the parts I got are not necessary to build a working arcade.
I also wound up buying two extra buttons and two ball tops after my daughter Elsie decided that we each needed a button that was our favorite color (hers pink, mine purple) and that we should have a pink ball top. It turns out that a pink arcade button is a a real hard to find item, I finally managed to find one in Hawaii at Paradise Arcade Shop. They also had a purple button and a Zippyy joystick with 4 micro-switches and changeable ball tops.
Simplified Parts List
Porta-Pi Lite Wood Kit and PDF Manual — $31.00 Shipped
10 Arcade Buttons from SparkFun — $30.00 Shipped
Assorted Cables from DX .com— $13.00 Shipped
Mausberry Circuits Shutdown Circuit — $15.00 Shipped
PLATT Electric Solderless Connectors (50) — $16.oo
Joystick 2 Ball Tops and 2 extra buttons — $23.00 Shipped
Assorted Screws and Nuts for Joystick — $2.00
Total Parts Cost without Raspberry Pi $130.00 Shipped
I already had a rocker switch to use with the shutdown circuit and a raspberry pi and power supply. I also used rubber feet, stain, wood glue and clamps I already had.
All of the parts started shipping quickly after I ordered them and I received the wood kit and buttons in the mail in a few days.
Wood kit and buttons mocked up.
I followed the instructions in the manual and fitted the pieces together a couple of times before staining and gluing. I have found my iPad to be really useful for viewing PDF’s, videos and tutorials while working on projects with the Raspberry Pi.
After fitting things together I laid out the pieces on some newspaper and stained the wood.
I wiped off all the laser cut areas with a damp rag to remove the soot and used a clean rag and some dark walnut stain to stain all the pieces.
After all the pieces had dried I assembled and clamped them according to the manual
I was really impressed by the laser cut wood kit and manual all the pieces did sort of settle properly together as described after being glued and clamped together.
Once the glue dried I installed the Raspberry Pi, power switch and some barrel connectors for the analog video and audio outputs. Initially I built a wall wart connector for power like the instructions but have since removed that and have a short usb cable installed so I can easily connect the Porta-Pi to the wall or a battery.
Once all the remaining parts arrived I constructed all the wiring harnesses required for the buttons and joystick and connected the power switch.
Now that everything is all assembled it is time to move on to the software. I had tried Retro Pie 1.9 on the Pi before versions 2 came out, but have only used 2.0 or higher on my Porta-Pi. You can find the base RetroPie image customized for the Porta Pi on the Retro Built Games website.
Below are the steps I used to customize the Porta Pi — Retro Pie OS image. Having a 4 GIG SD card to use to create your base image is really helpful.
The first step is to install any available updates for Raspbian and any of the packages used by Retro Pie
sudo apt-get update
sudo apt-get upgrade
The second step is to update the configuration of HDMI for your console. Detailed information on the settings is available here. I still have had HDMI issues on a couple of televisions. I also had to run the amixer command in order to get HDMI audio working right on one of my computer monitors.
Update Boot config.txt file
sudo nano /boot/config.txt
Force HDMI audio if you will be using computer monitors
amixer cset numid=3 2
If you are using a shutdown circuit you will need to update the script provided and enable GPIO pins 14 and 15. The internet generally recommended that you not try and use GPIO pins 14 and 15 because they are used by default for a serial connection. I didn't listen to this advice and everything seems to be working fine, the process of getting the pins to work was pretty easy.
Set up power switch
First we need to allow use of GPIO pins 14 and 15 since they are normally used by serial, and we need the pins
sudo nano /boot/cmdline.txt
replace the contents of the file with
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
sudo nano setup.sh
set the out pin to 14 and the in pin to 15
sudo bash setup.sh
sudo shutdown -h now
Then use the switch to test if it is working
The next step is to edit the retrogame.c file and remove the 2nd GPIO controller if you are not running a B+ model. After editing the file you will need to make a new executable file with the changes.
Configure the Controller and joystick
sudo nano /Retrogame/retrogame.c
Remove the controller for player two unless you are running a B+
If you want to create network shares for your ROM folders, or run the ES-Scraper utility to download boxart and game descriptions you will need to run the RetroPie Setup script.
Run Retro Pie Script and enable samba shares
I am still playing around with the settings, themes and controls for the emulation station software, but have really enjoyed working on this project. I have also ordered a USB adaptor so that I can use wireless XBOX 360 controllers with the Porta-Pi