I wasn’t using my pigrr2 so I decided to strip it and make something I would use out of its parts. I was looking for an arcade cabinet/case that I could put a 5″ screen into, I found that someone had used the same screen 5″ I had into a Zeon Tech Arcadie. Follow me below to find out how I managed it
- Zeon Tech Arcadie
- Raspberry pi 3
- 5″ HDMI screen
- Screen stand
- PiGRRL 2.0 Custom Gamepad PCB
- Adafruit powerboost 1000c
- 3 cell 18650 lipo battery pack
- Adafruit Stereo 2.8W Class D Audio Amplifier
- 2x 3watt speakers
- Mini joystick
- 6 light up arcade buttons
- Latching button for LED button lighs
- 2 coloured buttons for start/select
- Power switch
- Low power LED
- Female micro usb panel mount
- Female usb panel mount
To start with I had to get my hands on a Zeon Tech Arcadie, lucky I found someone was selling them cheap on eBay so I picked one up. The Zeon Tech Arcadie is a “case/shell” that turns your ipad into an arcade cabinet. It works by connecting the ground from the iPad to the buttons that then press pads onto the bottom half of the screen. First thing that had to go was the stickers covering it. The worst thing about the stickers is they are the paper stickers with a plastic coating
I peeled off the plastic coating and use WD40 to remove them. All you need to do is spray the stickers with a generous layer of WD40 then leave it for about 20 minutes. The stickers will just pull off then all you need to do it remove the WD40 residue with ether soap and water or 100% alcohol.
The case didn’t really have a back to it. It did have a pivoting iPad holder that when released would pivot back allowing you to insert the iPad. I decided to reposition the back and have it pivot back to let you gain access to the sd card and the pi. I put a magnet into the marquee and added a steel bracket to the pivoting back to hold it up.
Buttons and joystick
So while I was doing research for this build I stumbled across circuit beards blog post where he turned a rombus3000 into an arcade machine. He used these small joysticks which are quite well proportioned for my arcade build.
I will need some buttons to go along with the joystick. Most people use 6 face buttons and 2 buttons below for start and select. I found these light up ones that ran off 5v as most would only light up with 12v/240v. As it would be the new buttons were about the same size as the 2 that were already in the controller panel. I used the square washers that came with the buttons to secure the new buttons in the 2 existing holes since the new buttons were a little smaller. I drilled holes for the other 4 buttons in the control panel.
I’m wiring the buttons and joystick up to a pigrrl 2 gamepad board out of my pigrrl 2 build. I could have quite easily just wired ti straight up to the GPIO but I thought it would make it less of a rat’s nest of wires. At first I wasn’t going to wire up the lights in the buttons but as soon as tested them out I knew I had to have them light up because they looked so cool.
The downside of having the raspberry pi mounted behind the screen is that I couldn’t get access to the USB ports because of the back door had to slide past them. I did think of using a bare male USB plug but that was too long to fit in the gap. I had a brain wave about making a PCB that would fit. The only think about this is normally when you see those PCB board that plug into a USB port they are 2.5mm thick and oshpark only offer a 1.6mm PCB. I took a gamble and ordered a board anyway thinking I could just add some solder to boost the height. It turns out my gamble paid off, it worked and was a perfect fit
I added a female USB port to the outside of the case so I could add a single USB controller or add a USB hub and add more controllers.
The screen I was using was one of those 5″ HDMI waveshare clones with a resolution of 800 x 480, Being HDMI it wouldn’t have any lag like with the SPI screens. The raspberry pi just mounts to the back of the screen so all I had to do was mount the screen to the arcade case. Luck would have it the arcade case screen opening was the perfect width for the screen but it did need some blanking off top and bottom. I did this with black plastic folder.
The screen draws power from the raspberry pi’s GPIO so it covers all the old pi 26 GPIO pins. With this screen it has unpopulated pads on the board so you can add a female header to breakout the covered GPIO pins. I had to make up a custom cable out of the normal flat ribbon cable you normally use on a raspberry pi GPIO. I kept the un covered GPIO the same and added male 90 degree heads to the other 26 pins.
The screen case as seen in the picture above is what I used this to mount the screen into the arcade case, Just had to trim the sides alittle.
As anyone that’s tried to power a raspberry pi 3 off of batteries knows it a royal pain to stop it from undervolting and getting that annoying yellow lighting bolt on the screen while playing. Im using a powerboost 1000c this provided enough power to power the raspberry pi 3 and the screen without undervolting. I did use some mains cable wire that ran from the powerboost 1000c to a micro USB 90 degree micro USB male cable to make sure it didn’t under volt.
I also added a female micro USB panel mount to the side of the arcade case to the micro USB port on the screen, so I could just run it from just the mains if I wanted to use it for longer periods of time.
I had a 3 cell lipo battery pack rated at 6600mAh hours left over from a project I striped down that I bought off of eBay so I added that to give it a decent battery life.
I mounted the powerboost board on the bottom of the case near the back so it would be easily charged without the need to cut a hole for the micro USB port. I also broke out the low battery LED and mounted it just below the marquee along with the power switch. That way you can see it while playing.
When playing games half of the experience is the sound, I had an amp and speakers left over from striping a project I bought off of eBay. I’m using the Adafruit Stereo 2.8W Class D Audio Amplifier with 2 3 watt speakers. I decided to mount the speakers facing down, I just drilled two largish holes in the bottom to let the sound out, That way it keeps a clean look without having to drill holes in the front of the arcade case.
To get the screen to go full screen I added
max_usb_current=1 hdmi_group=2 hdmi_mode=87 hdmi_cvt 800 480 60 6 0 0 0 hdmi_drive=1
To the bottom of the /boot/config.txt file