Bartop Arcade
I have wanted to build an arcade machine for a long time. I’ve watched several makers in our community build their own, including Bob Clagget from I like to make stuff. With this inspiration I have decided to finally make this project a reality.
parts and materials
(1) Computer speakers (eBay) (Amazon)
(1) Outlet power strip (eBay) (Amazon)
(1) Sonoff basic Wifi smart switch (itead)
(1) 36” piece of 3/4” angled aluminum bar (Home Depot)
(1) lock and key set (Home Depot)
(1) set of door hinges (Home Depot)
(1) White LED strip
(1) Quart of paint
Plans available here
Design and Construction
I started this project in the same way I start many of my projects, and that’s by designing a model in Fusion 360. I made sure the design could fit on a half sheet of MDF so one could theoretically build two machines with one full 4’ x 8’ sheet. I bought the material at my home improvement store and brought it home. The first thing I did was cut the sheet in half to make it easier to work with. Another feature of my design is that all the pieces are 18” wide. This allowed me to cut a bunch of pieces the same width on my table saw. I ran out of coins half way through and had to dig around in my truck to keep the saw running. With all the pieces cut to the same width, I started cutting the various lengths using my Fusion design as a reference. There were a couple of pieces that required a 45 degree bevel so I tilted the saw and cut those last.
With all the pieces cut out, it was time to draw the pattern of the side panels. I fashioned a quick compass out of a scrap piece of wood to draw the radius I needed for the side panel. I drilled some relief holes and brought out the jigsaw. If you have a band saw large enough, I would recommend using that to cut something like this out. Sometimes jigsaws struggle with making straight cuts. Or maybe it’s just me that struggles with making straight cuts. After I had one side panel cut, I flipped it over and traced the outline on the other side. I cut out the other side panel without worrying too much about getting it exactly on the line. That’s because I came in with a flush trim bit on my router which has a bearing that rides along the first panel and uses it as a template to cut the second. This results in an exact match of the first panel.
One of the characteristic attributes of an arcade machine is the rubber t-molding that runs along the edge of the panels. Installing t-molding requires you to cut a slot in the side of the panel where you want to press in the t-molding. Slot cuttings bits like this can be quite expensive for such a singular use, so I was happy to find that Harbor Freight carries a full set of these bits for the same price as single bits that I found at other locations. I’ve since learned that these bits have other uses like cutting slots for reinforcing splines so I’m excited to use them in future projects.
At this point I was able to start assembling all the panels. I stood up two of the panels vertically, and rested the left side panel on top of them. I added some glue in the joints and secured the pieces in place with some finish nails. I flipped the cabinet over and attached the right panel in the same way. I finished up with the front panel as well as the panel that holds the computer monitor.
Now I’m ready to start sanding and painting the arcade machine. In my research for this project I came across a build by Geek Pub and they used a black and blue color scheme. I really liked how theirs turned out and it inspired me to use the same color scheme. You can watch their build video by clicking on the card in the upper right hand corner. I applied several coats of paint with some light sanding in between. Next it was time to insert the blue t-molding which is just press fit into the slots I cut earlier with the router. It’s much easier to cut these slots before assembly. T-molding like this can’t make 90 degree turns very well. I can’t remember where I saw this trick, but if you make a triangular cut in the stem, it allows the molding to miter together and make the turn nice and neat. This stuff is pretty easy to work with and I was able to trim off the excess lengths using an exacto knife. For the most part I could press the t-molding into place with my hands, but a few spots required some light taps with a rubber mallet. When I got to this point things were really starting to take shape and I was very happy with how it looked.
I want use the back panel to access all the stuff inside so the next step is to install some hinges as well as a lock on the back panel. Once I’m done with that I will install the computer monitor and secure it in place with some scrap pieces of wood. Here I used a piece of right angle aluminum as a stop for the door as well as something for the lock to latch onto. I secured it in place with some screws.
Installing the arcade interface
I didn’t want this arcade machine to just be single player, so I bought enough of these arcade push buttons as well as two joysticks to accommodate 2 players. I used my Fusion design to print out a template of where the push buttons would go and drilled out each hole. Then I used my router to cut a slot on the underside for the two joysticks. Without these slots the joystick stems wouldn’t stick out above the panel high enough to be comfortable. If you had a CNC machine this step could be made much easier. With all the holes drilled, I started installing the push buttons and joysticks. I printed out labels for each button on some adhesive backed paper, and cut them out by hand. I used my favorite tool, my tweezers, to apply them to the push button inserts. A vinyl cutter would work really well here. Next I cut a hole in the cabinet to fit a coin acceptor. This was a feature I haven’t seen on many other DIY arcade machines. This one is programmable for different types of coins. If you owned a public business, you could build one of these, put it on display, and actually earn a little money with it!
Each push button has an LED inside to light it up. I had some cable leftover from a previous project that had 4 individual wires in it. The red and black will be used for the LED and the green and white will be used for the push button. These push buttons were nice to use because I could unclip them from their housing to do the soldering and then clip them back in. There are 12 push buttons in total, six white and six blue in addition to the 4 push buttons on each joystick for a total of 64 solder joints! This was quite a bit of soldering!
After finishing the soldering I tested the LEDs in a dark room. Now I need to solder the other end of the cables to the raspberry pi. Most arcade builds I’ve seen use a USB gamepad module where you connect your push buttons and joysticks, however since the raspberry pi has a bunch of GPIO pins I wanted to use them instead. I used a clever piece of software by Adafruit that allows me to do this and I’ll talk more about it in a minute. I finished this step by mounting the raspberry pi to the inside of the cabinet using standoffs.
Power and sound
At this point the wiring is pretty much done. Next I need to plug in some speakers so I can hear the sound of the games I’m playing. I also need to run external power into the cabinet. I’ve got some ideas in mind that I’m excited to try. I bought some cheap computer speakers on Amazon and connected them to the raspberry pi’s 3.5mm audio jack. To plug the arcade machine into the wall I cut a hole in the side of the cabinet and installed an IEC connector with a switch and a fuse built in. I have several things that I need to plug in, so I’m mounting a power strip inside. Finally, I’m installing a Sonoff WiFi smart switch. This will allow me to turn on/off the arcade machine using voice commands. These switches are less than $5 and allow you to get started in home automation for really cheap. The last thing to do here was to tidy up all the cables and wires with some zip ties.
marquee sign
The arcade machine is almost complete at this point. The final step is to design a marquee sign that runs across the top. I wanted to keep this pretty simple, so I came up with this design in Fusion 360. The letters will be 3D printed and extrude out from the background. The letter C resembles a pacman character and it’s eating little pellets that will be backlit with a white LED strip. If you look closely the black background piece has slots for all the letters. I had to experiment a little with offsets in Fusion 360 to get these letters to fit correctly in the slots. Making them the same size as the letters won’t work, they have to have a little wiggle room to get them to fit. I soldered the white LED strip and glued it in place behind the marquee letters. I finished off the build by installing the marquee sign.
Retropie and retrogame software
The software part of turning a raspberry pi into an arcade machine is actually way easier than you might think. I followed this tutorial and loaded an image called “retropie” onto an SD card and booted it up on the raspberry pi. This image includes emulators for many of the most popular consoles of the time. You only need to provide ROMs for the games you wish to play. Keep in mind that you should only have ROMs of games that you physically own. As I mentioned earlier I needed to add an extra layer of software on top of retropie that allowed me to read the GPIO pins and process them as key presses. I followed Adafruit’s tutorial to setup retrogame and map the GPIO pins to certain keys on the keyboard. Once I had that setup I was able to play the games I had loaded onto the SD card. If your raspberry pi has a Wifi connection you can easily copy games onto the SD card wirelessly using FTP or SCP. There are plenty of tutorials for how to do this already, so I won’t include too much on the subject.
I had a blast making this arcade machine. It was a ton of work, but I’m really happy with how it turned out. Hopefully this project inspires you to make something you’re excited about.