During 2020, I picked up a hobby of making an arcade machine. It was something to get me to learn wiring, soldering, and design as I wanted to tailor a bartop arcade machine to my liking. It was a fun project that got a lot of use out from my family and it brought back some great nostalgic memories of going to the arcade when I was a kid.
A year ago, I also started to get into 3D printing and purchased a Bambu Lab X1 Carbon and recently picked up a secondary machine in the Bambu Lab A1. I wanted some machines where I could just print and not have to fiddle with it too much and these two did just that for me.
While browsing Makerworld, I found this model from creator Archer. It was what I was looking for in a mini arcade machine. Prior to that, I was enjoying the Glen's Retro Show Build-a-Cade and its miniature size and great design decisions such as interchangeable control panels, rear access to a secondary controller and microSD card, and access to various I/O that allows you to connect other controllers or to a TV. What I wished it did have was a square display and a less of a lip on the marquee, but those are small nitpicks from me.
The arcade machine by Archer looked pretty amazing and had some features I really liked, most notably a square display for some old school games. What I didn’t know was that this little project would kickstart the creator bug in me and this is what I did on mine to mold it to my needs. What you see is the culmination of six months of printing, modeling, wiring, building, and constant refinements. I’d like to say I’m done, but I keep thinking of new things to put in. But right now, I’m at a state where I can just sit back and enjoy the machines until I decide to start tinkering with it again.
First off, I needed to learn CAD all over again. It’s been over 20 years since I delved into CAD and things have come a long way since then. I had dabbled in Tinkercad for some of my other projects, but I wanted something with a lot more granular control with what I had in mind in mixing up Archer’s design. With that I set out to learn Fusion360 and worked on doing a few tutorials before I set out to make something that suited my needs. Before anyone asks, I cannot make these files public as Archer has made it clear he doesn’t allow remixes. While I’d love to give other folks a chance at printing out what I had done, I won't be making them available to respect Archer’s request.
Next, I sat down and planned out what improvements I wanted to make to the arcade machine. What started as a few minor things blossomed into an array of changes that I did not expect to make with this project.
The design originally had a slide-in marquee so you could print a static picture and display it with a backlit LED. Having put in a LCD video marquee on my bartop a few years ago, I thought the size of the arcade machine was perfect for a 7.9” candy bar style LCD screen to use as an active marquee. I picked up this one from Aliexpress, which you can also find from Amazon. It comes in an enclosure that I took the back cover off of and made installation in my design simpler than I thought it would be.
At first I was thinking of taking advantage of the slots for the slide-in marquee so I didn’t have to print out new side panels. But after I got done with it, I decided if I was going to do this, I might as well do it right and took Archer’s side panels into the CAD program and remodeled the top area to come out more, giving it enough room to hold the frame I designed.
Using a Raspberry Pi 4, I took advantage of the two HDMI ports on it and this project on Github that allowed me to use the secondary display as a marquee. For this to work, you’ll need to run Retropie and not Batocera, like Archer’s instructions on building his arcade machine. With some fiddling of some files, I was finally able to get marquees working as long as I edit the images and rotate them 90 degrees.
An inspiration I took from the Glen's Retro Show Build-A-Cade was the ability to change control panels. Some games require a trackball while others require a spinner. The current build didn’t allow you to switch out panels and it’s pretty locked in with tabs and screws. So I went and cut out notches for the tops in the side panels, which then allowed me to easily slide the control panel in and out of the main body of the machine, thereby letting me easily switch panels that I created. Another benefit of this is you can now easily access the internals for any maintenance issues. (Yes, there's temporary tape in there to hold some of the nuts in until I hot glue some of them :)
I also didn’t like how the side of the control panel area was elevated and it would sometimes cut into my palm when my hands were on the buttons and controller. I shaved down each side so the top sides panels of the machine were flush with the top of the control panels. Now, having my hands rest on the arcade machine was a lot more comfortable without something digging into them.
Archer’s original design had five buttons on top and it was a six button fighter layout. I modified it a bit on mine allowing for eight 24mm buttons to be placed and basically used the top three buttons as select, start, and hotkey.
For my extra control panels, I decided to use 30mm buttons rather than the 24mm buttons of the original design. The two panels I created house a trackball and a spinner so I didn’t need six buttons in the layout. The extra room afforded me the ability to put in 30mm holes as I had plenty of those style buttons laying around from upgrading my arcade machine and control panels I’ve purchased over the years.
The notches and weight of the control panel does keep it in place pretty well, but there might be times you want to lock it in place. For that, I decided to put in some threaded inserts into the side of my control panels and print out some handles for M3 screws. I didn’t remove the holes for the M3 screws in the original design, so you can screw and unscrew the panels into the body without needing a tool. Of course, you can use regular M3 screws and they screw in flush to the panel, but I wanted various options here in order to be flexible.
At first I was thinking of 3D printing M3 screws that could easily be threaded in with your fingers, but I found a nice model where you could glue them on the head of M3 screws to allow them to easily tighten by hand. With that, I printed four caps to glued them on four M3 screws and they now easily let me screw or remove them from the control panels.
Another inspiration I took from the Glen's Retro Show Build-A-Cade is their Panel Pod, which I reviewed here. With all the control panels you can purchase, the Panel Pod offers a convenient way to let you attach it to a Build-a-Cade and use it without having to change out what’s installed should you not want to take the machine apart to do so. The arcade machine has rear USB ports so I decided to make my own Panel Pod like enclosure for the trackball and spinner panels I created.
I took the side panels from the current design and popped them into the CAD program, cutting out the parts I didn’t need. I also had to remodel the bottom panel as it was a lot smaller than the complete machine and moved the feet in so that it would sit level on a table. I thought about just having holes there to let you either buy rubber feet or print out feet in TPU, but maybe that’s something I’ll do for a future iteration of the controller pod. On the rear I put in a single hole that I then placed a rubber grommet and fed the USB cord out of. With all that done, I can now make any of the three panels I created a self contained unit that I can plug into the arcade machine or even a PC. Like the Panel Pod from Glen's Retro Show, it makes these control panels a lot more flexible in use and lets you either install it on the main machine itself, or be used externally.
Inside the main area, I attached a USB hub to the Raspberry Pi and fed it to the control panel area. I was going to go with some magnetic solution so that I could easily plug and unplug the control panels as I replaced them, but again that’s something I think I’ll leave for a future iteration. In the hub is also where I plugged in an RF receiver for a mini keyboard.
For the control panels, I used mostly parts from Thunderstick Studios. The trackball, spinner, and Ikari Warriors joystick were all from there and they've been pretty solid for me when I am in need of some arcade parts for my other machines.
The original design of the arcade machine had a nice Space Invader logo with screws to lock it in place. Having worked on my arcade machine a few times and wanting easy access to the electronics, I remixed the back to allow for a much more convenient way to get in should I need to fix something. I attached two hinges at the top and a small lip at the bottom while removing all the screw holes. I also put in a few magnet holes so the doors can shut and stay closed with both the magnets and the lip to keep it in place. Now, if I need to get access to the Raspberry Pi or any of the other electronics in there, I can just flip up the back door or even remove it entirely. This part I used Tinkercad to do and it was one of my first modifications to the design before I learned Fusion360.
Another thing I added was a riser to the setup. I found the internals to have very little room once you added in the subwoofer and to accommodate the space needed to change out control panels, I modeled a riser to attach the pieces that were currently done to it. I didn't want to make any more changes to the original panel setup so I opted to create something that can take what was already there and attach itself to it to raise the machine up about 22 millimeters. This also greatly enhances the comfort of sitting in front of it as the rise in height of the screen and controls made it much better to use and more in line with my eye level. And, there's now plenty of room to house all the cables and hubs that I added to the machine.
On top of the machine, I decided to add a 4-way joystick along with two action buttons. These are wired into the Raspberry Pi 4 into some of the GPIO pins. I picked up a set of these from Amazon and added some access holes and a holder for the board. Now, no matter what control panel I have in place, I can use the top joystick and buttons to select the game to play and not have to rely on having a joystick control panel in place. I also added two more start and select buttons along with a power button on the top for the times when I need coin and start buttons for arcade games with the trackball or spinner in place.
I’ve been wanting to use a lightgun for a while and found some small Gun4IR lightguns on Aliexpress. They required four IR LEDs to be mounted on each side of the screen to function. Rather than just tack them on, I modeled holes in the front bezel where the IR LEDs can sit in there nicely without looking too out of place. After I calibrated the gun on the PC, I was able to play some Terminator 2: Judgment day and Operation Thunderbolt with the small Gun4IR pistol and the size of it fit nicely with the mini arcade machine’s aesthetic.
Now if any of you do any 3D printing, you know you can sometimes have a lot of extra parts laying around. I did a lot of prototyping and small changes here, printing out what I thought would be the final pieces only to change my mind. Since I had an extra display laying around along with a bunch of printed parts already to go, I decided to make a second player machine. This machine is just a shell containing a power supply, display, controls, audio amplifier board, speakers, and panel connections for HDMI In, Audio In, and USB out for the controls.
In my main machine I installed an HDMI splitter that’s powered by a USB connection and some panel mounts that provided audio and video out. As you can see, I am able to plug the two machines together with some cables and I am able to play two players with each having their own display and controls. It’s almost like the old way of connecting two Gameboys together minus the separate display. The display in my setup is mirrored, but that’s fine for arcade games and this allows me to play with friends and family in a more comfortable setup where we’re not fighting to look at a smaller screen. And yes, when my second light gun comes in, I will be able to plug that in two and play games like Terminator 2 and Operation Thunderbolt each with our own light gun and screens to shoot at.
The secondary machine is also one where I fiddle around with adding some more parts. You can see I tried a quick and dirty way to do some handles so it would be easier to transport the machine around. I don’t know yet if I will put this on my main machine, but so far it’s working out well. What did come over to my main machine was the caddy for the tiny keyboard I picked up. For those times when the controls and buttons aren’t enough to adjust a game’s setting, the wireless keyboard comes in really handy and I have a nice place to stow it away when not in use. As more add-ons come up in my head, I’ll be using this second player machine to test it out so it’s not only a nice way to play with others, but also a nice playground for me to test additions to the machine.
Needless to say, it’s been a lot of work over the past few months. A great deal of prototypes were printed out and a lot of iterations were created to get things to line up right. I practically printed every part at least twice with all the changes I made to accommodate the updates I wanted. I have to say, the two Bambu Lab machines I got to do all the printing have been stellar and I’ve probably only experienced one or two failed prints in my time doing this. I’m not spending time fighting a machine, but rather spending time designing and producing parts and prototypes so the bottleneck in this process is not having to deal with the 3D printing portion of this endeavor.
One of the great things about the Bambu Lab X1 Carbon I picked up from Microcenter was the multi-material system that allowed me to print in up to four different colors. While I couldn’t create a T-molding for the machine, the AMS system allowed me to make the T-molding area a different color from the rest of the machine, simulating T-molding and making it look more authentic. I almost thought about modeling a slot into the side panels and 3D printing small T-molding using TPU as the Bambu Lab X1 Carbon is great at printing TPU, but I don’t think I have a big enough bed size to make T-molding that would completely wrap the side panels and look decent.
I also want to give a lot of praise to the Bambu Lab A1 that I purchased many months ago. I used it to print a few of the parts for this build as well before the recall on the heat bed. During my usage, the A1 was quiet, fast, and produced high quality prints that you can see in my final design. I was finally able to pick up the multi-material system for the A1 and it’s been a great addition to printing multi-color parts. With that, I now have two multi-color capable 3D printers that can crank out my ideas when upgrading this mini arcade machine.
3D printing has come a long way and I have to say I didn’t think I’d ever tackle something like this in my lifetime. Just to be able to design, print, and build a complete machine from scratch is utterly amazing. And for us gamers who want to relive some of our past, having the ability to print out your own machine and source some parts is really awesome and fun. There are other things you can 3D print for more modern games and controllers such as building your own HOTAS setup or putting a steering wheel attachment on your PlayStation or Xbox controller. As you can see from this project, you’re only limited by your imagination. Archer’s Makerworld page has the list of parts used for his build and if you want to build one, all the information is there with a great easy to follow build guide to boot. Give it a look as I said earlier, it’s a fantastic project if you enjoy retro gaming.
* The product in this article was sent to us by the developer/company.
I've been reviewing products since 1997 and started out at Gaming Nexus. As one of the original writers, I was tapped to do action games and hardware. Nowadays, I work with a great group of folks on here to bring to you news and reviews on all things PC and consoles.
As for what I enjoy, I love action and survival games. I'm more of a PC gamer now than I used to be, but still enjoy the occasional console fair. Lately, I've been really playing a ton of retro games after building an arcade cabinet for myself and the kids. There's some old games I love to revisit and the cabinet really does a great job at bringing back that nostalgic feeling of going to the arcade.
View Profile