Idea and explanation
If you read the section of what I like, you can see I really like video games ever since I was young.
For a few years now, I've always wanted an arcade machine, so for the occasion and with the opportunity of the Fab Academy, I asked myself : "Why not make one ?".
The main idea is to have an arcade machine with lots of games that can be chosen from an interface and play with the different controls on the arcade. I also want to have a plug and play system where games are saved in a storage device and be able to take it off or interact with it to freely add or delete games.
Here's a basic sketch of what I'm aiming for :
I got the inspiration by looking at different arcade machines that exist and chose the one that I prefer (it comes from the following website : Dragon ball arcade machine).
Composition of my arcade machine
Here's a list of it's components :
- Body : Made out of wood (MDF or plywood, not too thick or thin)
- Controls : 6 push-buttons to play, 2 push-buttons for menus and a joystick
- video output : Monitor (VGA or HDMI)
- Sound output : Speaker
- Games : Start with simple games made with PyGame, then, if I have the time, download games trough the game engine Godot and load them in a storage device.
- Additional ideas : Lights, stickers, special ports for additional control panel, arm rest, foot rest, ...
Here's a block diagram :
To run games, I'm going to need a SBC (single board computer) because basic microcontrollers aren't powerful enough, for now, I'll use a Raspberry Pi 3 model B.
PCBs
Based on the blocks on the block diagram above, I can already make the PCBs of my arcade machine. I'll first do the input modules and then make the microcontroller PCB based on them to be sure the connections with IDC connectors and ribbon cables are correct.
The PCBs were made with the Bantam PCB milling machine with different end mills for tracks and holes/edges.
I have to load the correct gerber files or the software will give me weird results : front/top layer, bottom layer and PTH (holes layer) :
-
Joystick module
Input module to control the interface and play games.
(End mills used : tracks : 0.3mm, holes/edges : 0.6mm)
Result after soldering :
-
Buttons module
Input module to control the interface and play games.
(End mills used : tracks : 0.3mm, holes/edges : 1mm)
Result after soldering :
-
Button right module
Input module to close the current game.
(End mills used : tracks : 0.3mm, holes/edges : 0.6mm)
Result after soldering :
-
Button left module
Input module to close or launch the interface.
(End mills used : tracks : 0.3mm, holes/edges : 0.6mm)
Result after soldering :
-
Microcontroller module
Main module that receives the data from the input modules and sends it to te Raspberry Pi 3.
(End mills used : tracks : 0.5mm, holes/edges : 0.9mm)
Result after soldering :
I sometimes wanted to take pictures of the PCB after the tracks or holes/edges operations and this unfortunately messed up the origin of the machine which led me to drilling errors like these :