First, a final photo of the finished arcade insert! notbad.jpg
Of course, our arcade insert needs buttons and a joystick. The buttons and joystick we choose will connect to a small USB controller that turns the whole assembly into a USB controller. Neat!
We'll need to choose some buttons for our arcade cabinet; you can find inexpensive buttons of all kinds on Amazon. I chose this kit which comes with 10 illuminated red buttons. That kit also comes with a joystick (which won't work for this project—see below). I'll save that joystick for a future project (perhaps another Retrobox?)
I almost scrapped this project because I knew the case would never close with a joystick in the way. I even designed a hinging mechanism to allow the joystick assembly to flip out of the way.
Then I discovered a company makes a removable joystick! That's what we'll use. When you want to close your case, the joystick unscrews for quick stashing.
We'll need to choose a material that the arcade controls will mount to. You can cut a piece of acrylic or plexiglass to size or purchase an insert designed for your case.
I decided to buy this Lexan insert made specifically for my case. It has predrilled holes and saved me a ton of time. If you'd like to save a bit of money, you can cut your own panel instead.
I decided to cut my panel to leave the right side of my AdventurePi case exposed. This will make it easy to access the Pi, power supply, etc.
I used my bandsaw to cut my panel down to 9.5" in length. Other types of saws will also work. If your panel is acrylic or plexiglass, you can even carefully score and snap your panel to size.
2D print this button template and line it up on your panel. If you don't have a 2D printer, zoom it properly and transfer it from your computer screen using a pencil.
Position the template such that the joystick won't impact the side of your case. Then, test fit your other components around the template to make sure everything will fit nicely.
Mark each button center hole using a permanent marker.
For start and select, I'm using two smaller buttons that came with the kit. I measured and marked these manually.
Finally, mark the center joystick hole.
Drill small pilot holes where you've marked each of your buttons. This will help guide the hole saw.
Confirm that your hole saw is the correct size for your buttons. Then, use your hole saw bit to cut holes for each button. For the button kit I ordered, I'll be using:
- 1-1/8" hole saw bit for the 6 main buttons
- 1" hole saw bit for start, select, and the joystick
Finally, test fit your joystick then mark and drill its four mounting holes.
Remove the protective film from your panel and install each button into its hole.
To install the removable joystick, first use a pair of pliers and a soft cloth to tighten the ball to its shaft. This way, when you unscrew the handle to remove it, the ball and shaft will come out as one unit, allowing it to be stowed away.
Then, install the joystick assembly. I installed mine using some M5x8mm metric bolts and nuts I had laying around.
Mount the USB controller to the bottom of the panel using a piece of foam tape, Velcro, or standoffs. I used metal standoffs I had laying around. I attached the standoffs by drilling four holes in the panel and using some small screws.
Position the controller towards the bottom-right of the panel, near your Pi's USB ports.
Because I can't contain myself, I had to do a test fit at this point! :)
Use the instructions that came with your button kit to connect the wires to the USB controller.
Then, use some small zip ties to make the wires nice and neat.
Connect the controller into one of your Raspberry Pi's USB ports using the included USB cable. I cut and soldered my cable to make it shorter.
After booting your Pi, you'll be prompted to configure the arcade buttons as a USB controller.
If you run into issues with buttons not being detected, double-check your wiring.
Since we need to unscrew the joystick to close the case, I wanted to make some kind of housing to stash it. There are a number of ways to do this (get creative for your AdventurePi). For mine, I decided to design and 3D print a housing for it. If you don't have a 3D printer, I highly recommend the Creality Ender 3.
Download and print the joystick housing from Thingiverse. Then, use a 2" hole saw bit to create a hole in the panel near the screen and secure the housing in place using hot glue.
Finally, create a cylinder from some of your leftover case foam and cut a channel for the joystick, shaft cover, and dust cover.
Use small screws to secure your panel in place. You may need to drill countersunk holes if you didn't purchase a case-specific panel.
And this project wouldn't be complete without a Howchoo sticker! If you like Howchoo on Facebook, we'll be announcing our holiday sticker giveaway soon.
You've just built your own Arcade Edition AdventurePi! Swap out the arcade insert for the foam insert any time. You can even connect normal controllers to the Pi and play with both arcade controls and controllers at the same time!
The Raspberry Pi is a wonderfully flexible SBC and easily one of our favorite open-source boards on the market today.