I grew up in the 80s during the golden age of arcade machines, so I have always wished I had an arcade machine with real arcade joystick + buttons. Now that I have a 3D printer, I thought I should put it to good use and make myself a desktop arcade machine. I used TinkerCAD to do all the 3D modelling. Also, I wanted my arcade machine to have a lot of detail, so I also created things like vintage design coin slot and also created artwork which I sent to a commercial printer to have them printed on vinyl sticker.
This is not the first 3D printed arcade machine, there are already many around. However, there were certain things which I prefer it to be designed differently. Take for example the palm rest area. I did some testing and found that without sufficient space to rest your palm, you will get tired very quickly. Most of the existing designs I found had this issue, so I made sure my design had a big palm rest.
I should note that I actually designed and printed these parts before receiving the actual parts like the LCD screen, controller, speaker, amplifier etc. 3D printing takes quite a lot of time and I didn't want to wait till everything I ordered has arrived in the mail before I started printing. So, some of the parts were designed with some flexibility in terms of how it would be laid out. Also, this was a learning process for me as I am still relatively new to 3D printing, so some parts have gone through many changes as I experimented with the design. I believe all the files I uploaded should be correct, but in case there are any mistakes, do let me know.
Please understand that I am sharing these files AS IS. You do need to have a decent knowledge of 3D printing, Raspberry Pi, soldering, etc. in order to put it all together.
More detail over here: https://hackaday.io/project/20093-desktop-arcade-machine-3d-printed-retropie
Zonestar P802QA (based on Prusa i3)
I used PLA for stiffness. All my 3D models were designed to be printed without the need for any support structures. You will need a 3D printer with a minimum print volume of 220mm x 220mm x 120mm in order to print these files.
Parts were printed at 0.2mm to 0.3mm layer height with 0.4mm nozzle. Most were printed with 100% infill, except for the large body pieces which were printed at 30% infill.
Most of the main pieces are held together using nuts and bolts, or screws. You will need M3 bolts of various lengths (probably 10mm - 16mm) and some screws. I am afraid I lost the specs of the screw I used, but it's about 10mm long and 2.5mm diameter. These were use for the marquee pieces.
I sprayed primer putty and sanded it down to a smooth finish before spraying matte black paint for the final finish. You want to make sure you sand the top edges of "Body - Front Left" and "Body - Front Right" so that they are nice and smooth, cause otherwise, when you rest your hands on them, the sharp edges will get irritating quite quickly.
In order to make it look like a commercial quality product, I did a lot of research into the designs of the artwork for old arcade machines. I took inspiration from them to create my own artwork for my arcade machine and had it commercially printed on vinyl stickers.
For the marquee, cut the clear PVC sheet to 210mm x 45mm. You can apply the sticker on top before inserting it.
Connecting Everything Together
- The controller's USB connector will plug into the Raspberry Pi's USB socket.
- The power connecter for the display will plug into the Raspberry Pi's USB socket.
- The HDMI out on the Raspberry Pi needs to be connected to the HDMI input on the display controller board.
- The speaker needs to be soldered to the amplifier circuit, and the amplfier circuit's power input needs to the connected to the Raspberry Pi's GPIO pin 4 & 6 for the 5V power supply. You also need to solder an earphone jack connector to the amplifier circuit and plug that into the Raspberry Pi's audio socket.
- Solder together the LEDs and wire it to a USB connector. Plug it into the Raspberry Pi's USB socket.
So, everything is powered directly from the Raspberry Pi. The only cable going into the arcade machine is the Raspberry Pi's power supply cable.
My journey in creating this arcade machine
The links to the various parts I used in this project are provided below for your convenience. Note that over time, the part may no longer be available from the link I provided. However, most of these parts are quite generic and usually sold by many different vendors, so just do a search online.
You can use a smaller card, but a bigger card allows you to put in a lot more games.
Here are reference photos to give you a better idea of how all the pieces fit together.
QUESTION: Done everything and turned it on, but nothing appears on the display, what's wrong?
The first time you try to power up the full setup, make sure to power the display from a SEPARATE USB power supply FIRST, before turning on your Raspberry Pi. The display needs to be active first, otherwise your RPi would not use HDMI output for display. Also, do connect a keyboard to your RPi.
After powering up your Raspberry Pi, let it boot up all the way until Emulation Station/Attract Mode comes up (depending on your setup), then exit to terminal.
Open the Raspberry Pi configuration file for editing with this command:
sudo nano /boot/config.txt
Use arrows to get to the end of the file and add these 3 lines:
#Always force HDMI output and enable HDMI sound
Save the changes by pressing CTRL + O and ENTER
Exit the editor by pressing CTRL + X
Now you can turn everything off, reconnect your display's power supply to RPi's USB socket. Now when you turn it on, your RPi will default to HDMI output even though the screen is powering up later than your RPi.
QUESTION: Isn't it easier to just use a laser cutter to cut MDF for all the large pieces?
Indeed, that would have been simpler and faster, and I actually considered that option first, but unfortunately, I don't have access to a laser cutter. Sending it to a commercial facility to do that would have cost me a lot more than 3D printing it myself, so here we are!
Anyway, doing this entire project with 3D printing was actually a good thing for me, because it allowed me to practice my 3D modelling skills and I learnt many things about creating designs specifically for 3D printing.
Overall, I came out of this project having vastly improved my 3D printing skills and gained a lot more experience which I am sure will be helpful in my future projects! =)
QUESTION: Will you share your artwork for the vinyl stickers?
I believe every one of us have our own preference on how we would like to personalise our arcade machine, so I think it's a better idea that you guys design your own artwork so that while we all have the same machine, they all look different.
I would love to see what you guys come up with! =D
Here are some additional photos that you may find useful as reference.
The game controller parts
The display parts
The speakers and LED
The amplifier circuit mounted
About to cut the vinyl sticker
Giant size self-adhesive non-slip pads. I got these from Daiso