Finished arcade machine

Mini Arcade Machine Build Log

Being a kid of the 80’s I surely recall my time spent on arcade machines quite fondly. Therefore, it was almost destined that I’d end up making one. Without delay, here’s how I made my Mini Arcade Machine!

This mini arcade machine was quite easy to build primarily due to it’s small size and the 6mm thick plywood I used to construct it is nice and easy to work with. I had the advantage of having a CNC router but even so I think this could be done with just a jigsaw or bandsaw and some paper templates glued down to plywood.


The Parts

First things first I hopped online and bought all the bits I’d need for the build. In large part this whole arcade machine is really just an LCD screen and a Raspberry Pi computer, with those two things you’ve pretty much covered, you could plug in a keyboard and you’d be done. However, for the proper arcade experience I purchased some old-school push buttons, a joystick and some dinky little speakers to really bring the experience of arcade gaming.

Here’s a list of all the items I purchased and their approximate costs:

PartDescriptionCost
LCD screenThe LCD is probably the part I spent the most time deciding on. If you made a larger arcade machine you could quite easily use an old ~19″ (or smaller/larger) PC LCD panel. However I went with a 10.1″ LCD screen with separate driver board.~$54 USD
Raspberry PiThe brains of the operation. I used a Raspberry Pi 3 (But I recommend using whatever the latest version of Raspberry Pi hardware is). This does all our computing and rendering of games, and handles the input of all the buttons and joystick.~$43 USD
Push buttonsSimple arcade push buttons with that amazing tactile click when you push them! Available in a whole bunch of colors.~$1.20 USD
Joystick8 way arcade joystick.~$5 USD
Power supplyAs for power supply you could do as I did and use a 12V 5A power supply, that means dealing with 120/220V however. Another option would be to use an external 12V adapter.~$12 USD
5V regulatorA regulator is needed to drop the 12V down to 5V for the Raspberry Pi (if you have 12V input).~$6 USD
SpeakersFor the sound I used little 10W speakers.?
SD card8GB or higher is good, all depends on how many games you want to install.~$7 USD
HDMI cableTo send video from the Pi through to the LCD screen.?
WireSome ribbon cable wire to hook up all the buttons and joystick to the Raspberry Pi’s GPIO.~$3 USD
Inevitably I’ll have forgotten and left some things off this list but this is the meat and potatoes of everything you’ll need to get cooking.

So that all comes to around a total cost of $131.2‬0 USD excluding the cost of the plywood to make the frame which I spent around $20 USD on.


Software

Big thanks to the great work by the folks at RetroPie all the heavy lifting is done for us! All that needs doing is to download the RetroPie linux image for whichever particular Raspberry Pi version of hardware you have, flashing it to an SD card, putting said SD card into the Raspberry Pi and that’s it (almost). If you want more detailed instructions on installing RetroPie you can find it here.

RetroPie comes with EmulationStation built-in which is the bit of software which contains all the emulators for playing all your favorite games as well as an amazing, customizable interface that allows easy scrolling between all the different emulators and selecting one of potentially thousands of installed games.

The next step was to get my buttons and joystick registering as input to the Raspberry Pi so that they can be recognized the same way a keyboard or game controlled would be if it were plugged in via USB. Thankfully there’s an application; mk_arcade_joystick_rpi that will read your buttons and joystick which are connected to the Raspberry Pi’s GPIO pins and convert them in to key presses EmulationStation can understand. However, you won’t need this if you’re using a USB controller for buttons/joystick input.


Electronics

Surprisingly the wiring is relatively simple. To begin with the Raspberry Pi computer which is powered via a 5V DC step down converter which itself is powered via a 12V power supply that takes main voltage from a wall socket. The rest is pretty much plug-and-play, all that needs doing is connecting the Raspberry Pi to the LCD’s driver board via a HDMI cable and plugging audio into an audio amplifier via a 3.5mm stereo audio cable.

The joystick and button wiring is a bit more work as each button needs to be wired to a GPIO pin on the Raspberry Pi but hopefully this wiring diagram below helps you with wiring that up. Ideally you should wire just a single ground wire out to all the buttons and joystick and then connect a wire to each button’s normally open pin.


CNC Routed Parts

While I relaxed my CNC router was hard at work routing out the frame for the machine. The benefit of cutting the parts out with a CNC router, apart from the obvious accuracy you get is that I could also pocket out the edges of the frame so each piece would mate well with the other and result in very tidy seams. As I said in the beginning though I do still think that you could use a jigsaw or bandsaw to cut out the frame for an arcade machine as it doesn’t need to be perfect and would is quite a forgiving material to work with.


Gluing The Frame

Firstly I glued the primary frame together; the sides, top and bottom. Applying a good dolloping of PVA glue along the seam before pressing the frame together and using lots of masking tape to hold everything in place. I didn’t have any clamps that were long enough but it’d be certainly recommended to clamp the frame together as the glue dries to keep everything in place and to ensure a strong bond.

After the primary structure of the frame was together I glued in all the other panels apart from the removable back panel. I also glued in 6 little blocks of wood on the back which receive the 6 screws which hold the back panel in place.


Painting

Straightaway I knew I wanted to give this mini arcade machine a slick paint job, or perhaps some detail vinyl graphics. Conversely, I realized that I really liked the basic look of the wood and the grain so I decided to give it a light stain it and leave it more or less as-is. I think at some point I may revisit this if I feel like spicing it up in the future, there’s a lot you can do to give it a unique look but it’s all up to how much work you’d want to put in. I think laziness might’ve got the better of me here!


Button Switches

I wanted to make the wiring fairly neat and plug-and-play, and for that reason I soldered 0.1″ male headers to each switches common and normally open legs and covered them with some heatshrink for a nice and tidy look. As a result of doing this I’ll be able to use simple off the shelf female-to-female ribbon wire to connect all the buttons to the Raspberry Pi’s GPIO pins. If you want you can simply solder the ribbon wire directly to the switches but I liked the idea of having everything modular and in the event one of the buttons was to fail then I could simply swap it out without having to remove everything to desolder a single button.


Back Panel

As well as having the IEC power jack and on/off switch mounted, this back panel also has an I/O shield for the Raspberry Pi’s USB’s and ethernet port that I made on my CNC router out of HDPE sheet. No particular need for the Raspberry Pi I/O shield or even to expose the Rasperry Pi’s USB and ethernet ports to the outside world however it has proved itself useful when I’ve needed to plug in a keyboard to sort a problem out or plug in ethernet if the WiFi signal is not strong.


Joystick and Buttons Install

Firstly, I installed the joystick with four M3 bolts and nuts (remember to unscrew the red joystick handle so it fits in). Secondly, the gamepad cover goes on top to give a nice surface for the hands to rest on and to cover the M3 bolts holding the joystick in. Thirdly, the buttons just drop in (after popping out the electrical switches from the buttons) and the included nuts get finger tightened from underneath to firmly mount the buttons. The last and final step of this install was to pop and click the switches back into the buttons.


LCD Control Panel and Speakers Install

The LCD module included a small PCB covered in buttons which allows navigating through the LCD’s menu for example to change the brightness or change the contrast. I think you could easily get away without putting this in but it seemed like a good idea to throw it in an accessible spot just in case I needed to use it (spoiler alert: I’ve never needed to use it!). The speakers then simply bolt in with some M3 bolts and nuts.


Wiring Complete

Finally, the completed wiring. Not my tidiest work but luckily it’s all hidden away when the pack panel goes on. Certainly wasn’t hard to wire up the Raspberry Pi and LCD because they just need power and a HDMI cable in-between them. The tricky bit is wiring up all the switches on the buttons and joystick, mainly due to it being a bit of a small workspace in there. A bit of electrical tape and zip ties here and there goes a long way to make a wiring job look a lot tidier and to keep everything safe and apart.

You may notice I put a small heatsink on the Raspberry Pi rather than or in-addition to having a fan as I’ve just not needed it as the heat never seems to get bad enough to require one. By all means though if you’d rather pop a fan in the back of the case to push out the warm air or a fan directly over the Raspberry Pi then it can only help! I just preferred the idea of not having to listen to the whir of a fan spinning constantly while the arcade machine was on.


The Finished Mini Arcade Machine

Overall I’m very happy with the final result, it’s just the cutest little thing and an absolute blast to play. Indeed it’s hard to beat the classic, mechanical feel of an old school joystick and the satisfying clonk and click of the arcade buttons. The Retropie linux distro is pretty amazing, especially because it’s packed with all the emulators you’d want/expect and it’s not hard to load it up with thousands of games!

People who come around to my house almost always notice this little guy straightaway and want to have a play. It’s great fun to have around and I’d highly recommend building one if you’ve got a bit of DIY spirit in you as it’s not as hard as you’d think to build one of these. In-fact I think it might even be easier to build a larger machine with a old computer LCD 4:3 monitor. I was more interesting in a small compact arcade machine but there’s so many options here to make it as big, or as small as desired and even include two sets of joysticks and buttons for some two-player fun!


Purchase Plans

You can purchase the plans, CAD files, DXF exports from my Etsy store for $9 NZD (~$5 USD).


Video

Finally, if you’ve not seen my YouTube build video of my Mini Arcade Machine, here it is:


If You Liked This

You might want to check out my Gameboy Pi Zero build.