Quite a big project from me this time, which I’ve been working on for a while. It’s an arcade machine:
I’ve been a fan of the Raspberry Pi (a tiny cheap computer in case you don’t know) for a while but the one I initially bought has been running a music server so we can stream music all round our house. Then I came across a perfect excuse to buy another: a project to turn an Ikea table into an arcade machine. I started to buy some of the materials (the Raspberry Pi and the joystick and buttons) when I discovered a different project that looked more fun so I switched to (loosely) following this instructable to make a bar-top arcade machine.
My project ended up being a bit of a mash-up of the two projects: firstly, I decided to make it one player only; secondly, I used an Arduino Leonardo to connect the buttons and joystick to the Pi rather than an iPac. If that last sentence means nothing to you then essentially the computer inside sees the buttons as a keyboard (e.g. the bottom left button is like pressing the left ctrl key). There are a couple of ways of doing this, I chose to use an Arduino.
What follows is a brief description of what I did with the occasional tip. At the end there is a shopping list in case you want to make one but I ended up buying things as I went along and using some things I had lying around.
Building the Cabinet
The cabinet is all built from MDF – a mixture of 12mm and 19mm to use up stuff I had in my stash. You should be able to see in this picture that I used scrap wood to hold the sides together.
Getting all the angles correct was one of the most difficult parts as I don’t have a table saw (really need one but don’t have the space to use it). After a lot of deliberation I decided it was easiest to build the cabinet with the monitor and joystick installed and then be careful not to paint them. Here it is with lots of filler to hide my dodgy woodwork ready for painting.
And from the back. I removed the case from an old HP monitor that I had and screwed it to the frame using the holes where the monitor had been screwed to its own case.
I used MDF sealer and then painted with one coat matt paint. It probably would have been more even with spray paint but that would have been (much) more messy. The button holes are 28mm so I needed to buy a 28mm drill bit for that.
Wiring It Up
Wiring everything together wasn’t too difficult although you do end up lying on the floor reaching inside for the bottom of the buttons. Most important tip: the buttons have spade connectors that I was initially going to solder to. Luckily, before I did that, I discovered you can buy ready made harnesses with all the connectors ready attached. This made the wiring a lot easier. The hole you can see in the bottom left of the picture above is for an IEC connector (commonly called a kettle lead). I cut the plug off a four socket extension lead and wired it to the back of the connector so that the cabinet plugs into the mains with a kettle lead.
The Raspberry Pi software is really easy as I just used RetroPie, which provides a ready made image that you just copy on to an SD card and it just works. The most difficult part is understanding the intricacies of Mame (the arcade emulator) and finding games that work. What I realised is that the most important thing is matching the games to the version of the emulator you have on the machine.
RetroPie emulates all sorts of computers, including my first computer the 48k ZX Spectrum. I have found a few of the old games I used to play (mostly from World of Spectrum) but they often need a keyboard so I keep one close by.
The last fun bit was the marquee (the light up bit at the top). I just found the image online, printed it and sandwhiched it between two bits of perspex. The light comes from an led strip that is powered by USB from the Raspberry Pi.
Overall this was a fun project and the whole family have really enjoyed playing on it. I think the cabinet would have gone together easier if I had a table saw (or could cut straighter without one). The only other real problem now is where to keep it. The bar-top style means it needs to be put on the dining table to play. I think the best solution is if I use what I have learnt to build a full size, floor standing, cabinet that will go in the corner of the dining room…
Any links are just suggestions – do your own research before buying anything
- Raspberry Pi
- Monitor (I used an old one I had lying around)
- Joystick and button set (link is to sets that include things like the wiring harness and an iPac that replaces the Arduino)
- Wiring harness
- Arduino Leonardo
- LED strip light
- IEC connector
- Four way adaptor
- MDF sealer
- Hinges for the door on the back
- 2mm perspex sheet