Raspberry Pi Arcade Machine
by superpengy10 in Circuits > Raspberry Pi
14694 Views, 29 Favorites, 0 Comments
Raspberry Pi Arcade Machine
This is a really cool project for someone who is new to Raspberry Pi. It is pretty easy on the electronics side, has no soldering, and has a very enjoyable outcome. Raspberry Pi is a small single board computer with a lot of capability for emulating older game titles. The big arcade box has a smaller, portable arcade box that slides out of it.
The end result is a an interesting arcade box where you can play all the retro arcade games that you want.
Supplies
Material
Raspberry Pi (3 and 4 is better. Should have WIFI unless you are going to connect via Ethernet)
1 Joysticks and 8 buttons for one player. 2 joysticks and 14 buttons for 2 players. (you can have extra decorative buttons.) arcade buttons link
Micro USB Raspberry pi power supply
At least 16GB Micro SD Card (the larger this is, the more games you can play)
20 inch TV or Monitor
HDMI cable 3 feet
Power strip with at least 3 outlets (more is better)
USB extension cables
USB keyboard (should be fairly low profile. most will fit if they are not mechanical.)
USB mouse (optional)
Speakers
wood screws (1 inch is great)
wood glue
old arcade cabinet or stand to put the arcade box on (optional)
Hinges (see pictures later)
Paint in all the colors you want (will be discussed in greater detail later.)
you will also want some duct tape and cable ties
Quantities for how much wood you will need will be discussed later but here are all the different types:
3/4 inch piece of wood or wood-like material for control panel
1/2 piece of plywood for rest of cabinet
1/4 inch thick piece of plywood for the bottom of the cabinet
1/2 inch square wood dowels
1/4 square wood dowels
1/8 round dowel piece of wood for detail
Tools:
Circular saw
Jigsaw
Drill with necessary drill bits. (all normal sizes except you will need a 1 and 1/8 inch hole for each button)
Sander
You could make the whole cabinet with only these tools, but a table saw, drill press and band saw will make the process easier.
The Arcade Button Board
We will build the arcade board first and confirm that everything works before fully assembling everything into the arcade cabinet. It is a lot easier to build the electronics first before you put it into the cabinet. I based the layout on other real arcade machine layouts that I found online. I drilled the holes with an electric drill. I used a piece of 3/4 MDF but you could use a piece of plywood. I cut out the piece with the circular saw. If I were to do this again I would paint it black. Just make sure to sand the top a bit so the buttons sit flush. The board needs to be cut to 22 by 14 inches. The holes for the buttons are 1 1/8 inches in diameter. I got the buttons on Amazon and they came with the control boards and the joysticks as well. You need 14 buttons for two players and 8 buttons for 1 player. You will put the letters on in the next step.
You can use whatever button layout you want to. My buttons have a slight tilt in their position relative to each other. You may like them straight. Here is a drawing to scale of what I did. One square equals one inch. Also keep in mind you will need a start and select button. There is also a picture of what the button board looks like when it is finished.
Button Modification
To make a button with letters on them these are the steps. Look at the pictures above when referring to these steps. Twist the piece of the button with the connectors until it pops off. Then push in the white tabs until the entire inside of the button comes out. This part can be difficult because it is annoying to push the white tabs in. . After you do this take the piece that remains and pulled the colored piece off the top. The disk inside is where you will put your button identification stickers. I got the letter stickers at an office supply store Then reassemble the button.
Putting the Buttons Into the Plate
After drilling the 1 and 1/8 inch holes in the board, attach the buttons onto the board as follows:
Twist the bottom piece with the connectors off of the button. Also, take off the ring with the threading. discard the spacer. Then insert the button into the hole you made in step one. Then screw on the threaded ring and tighten it, then reattach the piece with the connectors. You can put any color of button anywhere you want. I like the order I put the colors in. The letters could matter in some games so just stick with what I have. You do need a Start and Select button at the top. The one and two-player buttons are just decorative here, but they could do something if programmed to do so.
Putting in Your Joystick
In this step, we will be installing the joysticks. Decide where you want to put them, and drill a 1 and 1/8 inch hole for each joystick. Joysticks mount to the underside of the board with four wood screws each. Take the ball and ring off your joystick. Put the joystick through the hole and mark the holes on the underside of the board. This will show you where to drill the holes for the screws to mount your joystick. Don't drill all the way through the deck. You can just screw the joystick screws straight into the wood deck, but make sure the screws aren't too long or they will come up through the top of the deck.
Wiring Buttons and Joysticks
In this step we will mount the controller boards to the underside of the deck and connect the buttons and joysticks.
Follow the pictures above to wire your buttons and joysticks. The joystick wire is NOT directional. You can plug the cable in whatever direction you want to. After this, I would recommend mounting the button controller onto the arcade deck. I did it with screws but you can do it with hot glue or some sort of adhesive. Then plug all your wires into the controller board. The control board should have come with your buttons The joystick plugs in on the end of the board. The button wires are all keyed so you can't put them in the wrong unless you have a two-player situation.
Each player gets their own controller board. Do NOT mix and match-Attach one set of buttons and one joystick on one controller board, and the other set of buttons and joystick on the other controller board. (Note: you can plug the buttons into each board wherever you want. The buttons are designated during the set up step. After you set up Retro Pi DO NOT CHANGE WHERE THE BUTTONS ARE PLUGGED IN or you will need to reconfigure all your buttons if you do this. Next, plug the supplied USB B cables into the button controllers.
Raspberry PI Connections
Take your Raspberry Pi (I am using a 3B model but it works with Raspberry Pi 0,1,2,3 and 4.)
Attach the Raspberry Pi to the underside of the arcade deck. I did it with screws but you could do it with hot glue or some adhesive. Take the USB cables from the button controllers and plug them into the PI. After this plug the Pi power source into into the micro USB jack and check to see if the Pi turns on and that all the lights light up on the buttons. At this point, your wiring should look like this (Just focus on the joystick wiring, button wiring and connections to the Pi for now. The HDMI cable and other wiring will be discussed later. I know it looks complicated but it isn't.)
Installing Retro PI
The software we will be using is called Retro Pi. It Emulates classic arcade titles allowing you to play classic arcade games from Atari, Sega, Nintendo, etc. It also controls your button mapping. There are loads of great videos about how to install Retro Pi. I followed this amazing guide by the YouTuber ETA PRIME. These videos also explain how to install ROMS. (ROMS are your game files) You can install your ROMS now or later.
If you are still having trouble try a different guide online.
Raspberry Pi 1,2, and 3
Raspberry Pi 4
The Cabinet Side Pannels
To make the cabinet, start by drawing and cutting the side panels. The shape of my cabinet was made so that when it slides into the old school arcade box I got, it matched the profile of that case. Above is a drawing with all the critical measurements. Each square equals 1 inch. If you choose to do a curve leave a little bit of wood at the bottom of the curve. This makes it a lot easier to carry. Also, leave space at the top for the marquee. Both sides are the same shape and were cut from half-inch plywood. I cut mine out with a combination of the circular saw and jigsaw.
The Back, Top, and Marquee Panels.
The very bottom panel could and should be done with one of 1/4 inch plywood. It would be 22 inches wide and 21 inches long. Keep in mind you will need to make a hole for the power strip cable to come through. The top panel on the back flips open for access and storage. The flip open panel is 22 inches by 11 3/4 inches. The top (with Mario painted on it) is 22 by 17 inches. all was made with half-inch plywood. For the marquee cut a 22 by 5 inch piece of wood. For the marquee, you can either use RGB strips or use individual LED lights as we have (about $5 for a set on eBay). For the individual lights, you need to drill all the holes now. You should drill as many holes for how many lights you have. We drilled them, then put hot glue in the holes and shoved the light in. If you are using adhesive light strips put them on an make the connector dangle toward the back of the case.
It All Comes Together
Take the two side pieces and connect them to the top and back pieces with wood screws. Pre-drill the holes so the wood does not crack. We used half-inch flat head wood screws. Do not put in the arcade deck yet. for the piece with Pac man on it needs to be held on with hinges from the bottom of the piece as pictured above. On the top, we used magnetic cabinet catches to hold it in closed.
Paint
Now it is time to paint the arcade box. You can paint it black or you could paint your favorite characters on it. Whatever your time and skill level allows. It is best if you use a lot of painters tape to mask the areas you are not painting so your lines are straight. Take your time. You could also paint it before you screw it together.
The Marquee
Our marquee is plexiglass and was painted in the Gallaga script at the boardwalk by one of the custom airbrush artists. The frame is a 1/4 inch wood molding going around the plexiglass. Glue this frame to the 22 by 5 piece of wood. place the plexiglass in the frame. Then take the 1/8 inch wood dowel and glue it around the inside of the frame to hold the plexiglass in.
Monitor Mounting
We used a Samsung TV for the screen. We chose this because it fits perfectly and we also wanted to connect a Wii and this had all the necessary inputs. You can use whatever monitor as long as it has an HDMI input (or you have an adapter) and you want to make sure it fits in the case. Connect a scrap piece of wood to the back of the case close to the center. You will mount your TV or Monitor mount to it. If your monitor has a dumb mounting system like ours (see picture above) or it mounts with VESA, mount the part that receives the TV to the piece of wood. You may not get it perfectly centered the first time. Just keep trying. Our fit was so tight that we moved it over a 1/16 of an inch and it fits. Any other position would not fit. plug all the cables into your TV BEFORE you put it on. It is very difficult after you put it in. Connect an HDMI and rout it to the bottom of the case. Make sure it is long enough to reach your Pi. Connect you TV power cord to the TV and let it dangle as well.
The Shelf Inside
Inside the top, at the back, there is a storage area. This is where the power strip and the Wii goes. I used magnets so the door covering the shelf on the outside does not flop everywhere. The angle is determined by how tall your TV is. My shelf is 22 inches by 20 inches. It is secured up there with half-inch square sticks and a lot of glue. P.S, Clamping is the key to gluing!
Make sure there is a hole in the corner at the back for all your cables. You will want to mount a power strip up there. We also secured the Wii and TV power supply using coat hangers that we bent and screwed in. you will now want to connect a micro USB @ 5 volts 1 Amp to the PI (make sure it reaches), and your TV power cable. Marquee lights and anything else you want to connect should be connected now.
Connect the Deck
It is now time to connect the arcade deck. I would recommend slanting it. Mine is at a 30-degree angle. Keep in mind you may want to be able to slip a keyboard under it. Once again pre-drill the holes for the deck and screw it in. Connect HDMI and power to your pi. Then make sure it all still works. Boot up the arcade and play a game, you deserve it. After this, you need to cut the bottom piece of the cabinet by placing the cabinet on your 1/4 inch plywood and tracing it, then cut the plywood and pre-drill then screw this on. You will also want to connect the piece in the very front. This hides your keyboard and looks very nice. Mine is 22 by 2 1/2 inches and is held on with two hinges.
Fitting Into an Original Arcade Box and Mobile Cart.
Our arcade machine fit inside of a vintage arcade machine box. We found ours at a place that fixes old arcade machines and got this one. It was banged up and missing most of its innards. Scour the internet and you might find one. We removed the screen and front piece and cut our side panels to match the profile of this vintage machine. Our box slides right in, lines up with the sides because we cut it to match, and rests against the old speaker mount. This will vary depending on what arcade box you get. You could create a platform for it to sit on inside the box to mount it. I also created a stand with wheels from an unused table saw stand. I have done a few presentations at schools with this and this makes it so much easier to move. I used small plastic wheels with long bolts. The arcade box just sits on top, not screwed in.
The Final Result
This is really cool project. All you need to do is load your ROMs in and start playing. Everyone who has tried it enjoys playing, especially kids who have heard of these games but never really played them. Also, older people enjoy playing games they played in their childhood again. Overall this is an amazing first Raspberry Pi project that is easy for beginners to woodworking and Rasberry Pi.