Intro: Kids Build - Raspberry Pi Arcade Cabinet
We wanted to create an arcade cabinet as a fun project for the kids at our (Coventry) Makerspace, as a group project that could encompass many different skills and techniques, give them a 'big build' to be proud of as a talking point in our Makerspace... and, of course, a fun way to play our favourite arcade games, old and new!
The kids participating in this project are aged from 8 to 12 years of age. They have adult help, advice and supervision when necessary, but the children are the driving force behind the project, they come up with the ideas, decide upon which fabrication techniques to use, and do most of the work it is safe for them to perform.
Like all good plans, ours constantly adapted throughout the process as we refined our methods and found better ways of working. One particular disappointment was discovering that PiMAME (now PiPlay) did not work as well as we had hoped as the original Pi was just not powerful enough. Luckily, the Pi 2 was just what we needed to get the project moving again!
This project was completed on a very tight budget and all components have been donated or recycled by the membership of Coventry Makerspace, thank you for you support.
Step 1: Plan Your Design
When building an arcade cabinet you have a lot of options available. You can have a bar top, full arcade, half arcade, slim arcade and the list goes on. Ultimately you need to decide on how much space you have available and more importantly how much money you want to spend on your build. At Makerkids we had a few sheets of construction grade 1/4" ply wood and that's probably enough for a full-sized arcade.
The children googled away and after a short time there was a lot of excitement about Doug Haffner's Monster Arcade. Which to be honest is just awesome and you should check out his blog
Step 2: Turning Sheet Material Into a Carcass
So after a short team meeting with the children they decided that "we" wanted a full-size pedestal cabinet, so, using Doug Haffner's Monster Arcade as our inspiration, we sketched up a plan.
We used 1/4 inch shuttering ply for the carcass, and cut the ply with a table saw. We added battens for strength where the planes intersect. We also added a 2.5 inch wooden trim - the plan is that when we decorate it, these will be painted up steampunk-style, to mimic girders and rivets. We have only decorated the cabinet roughly for now, as we plan to really go to town with the decor!
Step 3: Fireproofing Coating and Undercoat
We take the safety of our children very seriously in Coventry Makerspace, our MakerKids are very special. You might think its a bit extreme to add a fire retardant to our projects but when you have a few gallons of fire retardant hanging around I suggest you paint everything like we have!
The only problem is that it was a really yucky colour, dark brown! So many, many coats of white undercoat and silk have been applied. The children especially liked applying filler to all the screw holes and gaps from the accurate cutting in the previous section!
The filling went down as a very fun activity but when it came to sanding a lot of our helpers disappeared. In fact a lot of adults appeared and had to get the arcade sanded back to a point where it was relatively smooth again. As quick as they vanished the children returned when the sanding was complete and the painting was ready for the last few coats.
Step 4: Pi Play - Get Your SD Card Ready for Your Raspberry Pi
Pi Play (formerly PiMAME) is a Raspberry Pi OS, based on Raspbian, made for gaming and emulation. As well as MAME it also runs plenty of other emulators, although we will be sticking with MAME for now.
Pi Play is very easy to install on Pi 2. In fact you don't need to install anything, you can just download the complete ROM and apply the image to your SD card like installing a normal OS like Raspbian. For new users of the RPi you need to use a utility to put ROM images onto your SD card.
Follow these instructions:
- Install Win Disk Imager http://sourceforge.net/projects/win32diskimager/?s...
- Download PiPlay ROM http://sourceforge.net/projects/pimame/files/lates...
- Extract PiPlay ROM from its archive to a directory of your choice
- Launch Win Disk Imager (you may need to run as adminstrator) and load the PiPlay ROM
- Select your SD card as the target and write the image
- When complete remove the SD card and insert into your RPi.
From the PiPlay website:
This is a fully configured Raspberry Pi image that auto boots into AdvanceMENU and runs your MAME games for you. It includes a copy of a Free MAME ROM so you can see it working right from the start. SSH is already enabled, memory split is setup, and everything is updated.
Once you have it flashed to your SD Card, I recommend running “sudo raspi-config” and expanding the file system, otherwise you will only have a few megs of space left to use.
Once you have it installed, you can simply find ROM images of games you want to play and using FTP to transfer them to your Pi.
Step 5: Pi Case
We needed a case to hold our Pi safely in place. Initially we opted for the tootbox case we found on Thingiverse, as we could mount it on the underside of the console. We 3D-printed it on our Ultimaker 2 printer. However, once we got a Pi 2 we found that it was no longer compatible, as the outputs and GPIO were in different places. So we ended up printing a regular case and mounting it with strong double sided tape instead.
Step 6: Installing Arcade Joysticks and Buttons
The key feel to a retro arcade cabinet is the old-school buttons and joysticks. We drilled holes in the plywood to physically install them. Initially we tried to connect them via USB, when we struggled to map them, we changed tactic and instead hooked them up to the GPIO pins on the Raspberry Pi. We used a diagram from the Element 14 website to find out which pins to use:
Each button and joystick needed to connect to a pin labelled GPIO and to ground. Each needed it's own pin for GPIO, but we had to connect several to each ground. We used jumper wires to make each connection, and after a lot of frustration, in the end we used a T-cobbler so that we had more space to work with.
Once we had the buttons installed, we had to map them in PiPlay. We used the instructions on Adafruit where we purchased our buttons:
...BUT... we still had a few problems. We found a lot of help on this thread:
Ultimately, though, we ended up keeping a keyboard and mouse wired up to the Pi as well, as there were a few menus and functions that we could not assign to our buttons or joysticks. At some point we do intend to come back and work on this, as our arcade is still very much a work in progress!
Step 7: Upgrading Arcade Top and Reinstalling Buttons
Our Makerspace acquired a supply of perspex and foamalux acrylic, and after consultation with the kids, revised our plan to have a steampunk arcade, and opted for bright colours and a glossy finish. The first step of this revision was to upgrade the countertop and reinstall the buttons. Drilling the holes again was not difficult, but we did have to make sure that they were drilled straight and in line with the original holes, and it made a complete mess! Not only did it produce lots of tiny plastic shavings, they were charged with static and stuck to everything. Next time, we will make sure that if we drill or cut acrylic we will do it outside in our messy work area!
Step 8: Testing the Arcade Cabinet at MakeJam
Coventry Makerspace held its first ever Raspberry Jam in May, and although it isn't completely finished yet, we couldn't miss the opportunity to show our arcade off! It was a big hit on the day, along with the Piolin, 3D LED cubes, and Minecraft Pi coding. Here are some of the other projects we displayed:
We love our new arcade, and although we have not finished decorating it yet, we know it will look really great once it is done. The kids have learned lots of new skills, including some Raspberry Pi but lots of other making skills as well. And they have learned the games that their parents loved when they were young, although their general consensus is that, on the whole, they still prefer Minecraft. We hope you enjoy this peek at our project and that it will inspire kids in other Makerspaces to start their own big build projects!