How to build an arcade machine with full size cabinet. Tutorial for building a MAME cabinet with the supplies needed. He repurposed a kitchen cabinet base for the bottom portion of the cabinet.
This is a tutorial on how to build your own arcade machine. This will cover how my husband built our MAME cabinet and the supplies needed. He repurposed a kitchen cabinet base for the bottom portion of the cabinet.
My husband and I had a conversation in the car the other day that went a little like this:
Me: I really like spending money on things like vacations... I love the idea of traveling with the kids, especially when they're older.So he goes home and decides he will build an arcade machine. Immediately. I love video games and arcade machines are boss so who am I to argue? The project has actually been fairly reasonable to purchase supplies for, although I'm sure when I add this up at the end that I'll earn a couple more gray hairs.
Mr.: Well taking the kids on vacation is a pain still and I really prefer stuff.
Me: What else could you possibly want for stuff... (we have so many grownup toys)
Mr.: I really want an arcade machine.
Materials to Build an Arcade Machine
Some of the links are affiliate links. Using them helps support my blog, at no additional cost to you.
- Used 30” wide Base Cabinet $30 at Restore
- Door hinges
- Raspberry pi 2 $42
- Power strip $8
- Various scrap wood (2x4, 1x2, ¾ panels)
- L brackets
- Wood or deck screws of various lengths
- Motorola USB Wall Charger with Micro USB Data Cable - Bulk Packaging - Black $6
- AmazonBasics AC Powered Computer Speakers (A150) $20
- Arcade Game Controller USB Interface PCB Kit for PC (MAME) / PS3 to Mame $27
- Happ Arcade Control Panel RGB Kit - 14 Buttons & Joysticks $51
- Arcade Coin Door With Quarter Acceptor X-Arcade $55
- VIZIO E280-B1 28-Inch 720p 60Hz LED TV (Refurbished) $165
Cost, not including wood (if there's no bold/italic price, then I either owned the items or don't have a record for costs... we always try to use all of our scrap wood first and we used a lot of it for this project): $404
Instructions for Building an Arcade MachineThis is a project you'll want to have a little experience for... my husband is going to give some instructions below, but it certainly isn't a "plan" of any sort. He feels that for much of this project, he winged it to make everything fit just right. Please be safe while building and doing any sort of DIY project. If you have any questions, please leave a comment and I'll ask if he can answer it for you!
Most arcade cabinet tutorials are based on using large wood project panels. This might not work well if you can't easily transport the panels home. The design for this cabinet came to be because a) large project panels are difficult to bring home b) an up-cycle opportunity c) a modular design for construction to be completed in sections with a final assembly step.
Almost all of this cabinet is an original design (except for control panel template, and electronics/software). The look and some of the techniques used were influenced from:
While working through the various build phases of the plan I ended up using tinkercad to try to get a better picture of the size rations for cabinet width and height of the various sections relative to my own height and arm length. It also helped me to figure out how I would solve some structural issues such as how to support the monitor and control panel. This is the 3D design that he created with Tinkercad: Arcade Cab. Note that tinkercad is meant for 3d printing, unfortunately I couldn't 3d print a cabinet and since tinkercad was the only easy free cad software I can find, I used it. When I started it I didn't see how to change mm to inches so pretend the dimensions are all in inches.
The first thing to get figured out was how to convert an old base cabinet into an arcade cabinet. Something like that has gotta get some serious attention in the up-cycle community. Below are some crude steps explaining how to do that. In a nutshell its a conversion of a kitchen base cabinet into a... box. Albeit a box with an arcade machine coin door (yay).
- Acquire a used kitchen base cabinet. This one is 30w, 35h, 23.75d. Picture 1
- Pull the Remove draw slides and front of cabinet. Hammering from the inside will pop it lose. Picture 2
- Saw the sides and bottom so that they are flush with where the kick board is on the bottom, also remove that piece of wood where the kick board rests on. Picture 3
- Cut two 1x2 boards to the inside width of the cabinet. Screw them in to the near the front. One flush with the top, the other in the middle. Leave room between the two for a coin door. Don’t make flush with the front, leave enough room for a panel there. Picture 3
- Cut a panel to fit in the front. Width will be inner width of the base cabinet, height will be same as base cabinet height. See Picture 4: Under Display Cabinet
- Cut square hole in front panel with a jigsaw for the coin door. I ordered the coin door and used it to trace out the area to cut around. I didn't stress over getting it exact the first time since the coin door covers a little wood, start off with too small and just cut a little more as necessary. See Picture 4: Under Display Cabinet
- Cut two boards to run vertically along the coin door hole. Screw them in to the other boards that were added to the front. These boards will help support the coin door.
- Insert coin door and use the included metal spacers/grips (not sure what to call them), to fasten door into place.
- Take one more board and cut to the inner width of the base cabinet. Screw in to sides so that board is parallel with front and flush to the top. This board will help support the display cabinet.
After the base was done, it was pretty much set aside until more progress can be made. Thus ends the up-cycle segment of this post. The next step was to figure out how to mount a display into something that would eventually attach to the base. Most of the materials used here came from scrap wood and some really long shelves that we no longer were going to use.
- Cut two boards to exact length/width. Ours is 12w,35l.
- Clamp boards together. I highly recommend using (affiliate link) clamps for a variety of things, its like having more then 2 hands!
- Draw the line that will be cut to shape a nice curve in the cabinet edge. This was done by:
- Draw a line down the center.
- Draw a Line from one corner to the other.
- Draw a line at a slight angle about 6 inches down.
- Draw a curve between the lines.
- Use jigsaw to cut out line. I'm not great with the jigsaw so I didn't get it right on the line I drew, but that didn't matter. What was important was that both boards matched. You can see the cutout on the side of the machine in the images above.
- Cut a panel for the back to match height of the display cabinet wall boards and the width of the base cabinet. This is for the back of the display cabinet. Screw into edges of wall boards.
- Cut a board to base cabinet width and display cabinet wall board widths. This will be the bottom for the display cabinet, Screw into the bottom of the display cabinet wall boards.
- Repeat previous step for the top of the display cabinet.
Adding the TV
- Cut a wood panel to fit on the inside of the display cabinet (top to bottom). Place at angle that tv will lie against. I've seen some diy arcade cabinets mount directly to this type of board in the back, I didn't have a mounting kit lying around and was still just messing with the design so I just let it rest on the back.
- Cut board to the inner width of display cabinet. The tv will rest on this board.
- For the next step I had to figure out how high to set the tv. To get this right, I just put the display cabinet on top of the base cabinet to get a good sense of height, then I pile scrap wood and set the tv support board on that. With the TV support board loosely in place, I was able to rest the TV in the cabinet and adjust up or down to get a good spot. Mark that spot on the side walls.
- In the center picture above, you can see I added a board to prop up the other board the TV rests on. This board is cut at the edges at an angle I wanted the tv to rest at. This angle is not very great, and will depend on how angled you want the tv. I think that greater than 7 degress is getting to far back, but its probably a matter of preference. Although with a 12 inch display cabinet you can't go too deep or the tv won't fit.
- Use the support board and some clamps attached to the side boards to get the board that the tv rests on into place. Use L brackets to screw into the display cabinet walls. Keep board at slight angle so the tv is at an angle.
- Find some wood to fill in gaps between outside of tv and display cabinet walls.
- Use some nicer wood panels to cover up areas around the tv. Use would glue to attach to the filler pieces.
- Use jigsaw to cut out areas for HDMI and power in the wood panel the tv leans against.
- Don’t attach to cabinet yet because you’ll be wanting to get behind it still (I don’t think I will permanently attach these pieces in mine, they fit pretty snug anyway.
After getting the display area done, I decided it was OK to add the speakers. The speakers are above the display, right behind where the marquee would be. Picture 5 and 6. There isn't much to say about this step.
- Cut a board to inner width of display cabinet.
- Width of board should be enough to go from front of display cabinet to wherever the TV framing intersects.
- Cut out holes for the speakers.
- Screw board into display cabinet (I used right angle brackets to avoid screws visible on the outside).
- Place speakers where they go and run wires down the back of the display cabinet.
- The speakers I got didn't like to stay in place so I glued some wood blocks just to keep them from moving too much. They'd still move if the cab were tipped, but I can just get to them and move them back.
- Some speaker covers on the board would look nice, I haven't gotten any yet.
The good news is that the the big pieces are done. Though the cabinet is still missing a very critical piece: the control panel.
There are some pretty good options for control panels that you can buy. These look great and a DIY cabinet can probably be adapted pretty easy to accommodate one, one example is (affiliate link) Raspberry Pi 2 Model B Desktop (Quad Core CPU 900 MHz, 1 GB RAM, Linux). I mention this because building my own is more trouble then I had originally expected. Some benefits of buying one: a) it should work, b) probably USB and can just plug right into your rasberry pi or whatever, c) it will probably be a heck of a lot more durable then the one I built. If you want to continue on your own panel, then do yourself a favor and read this THOROUGH control panel construction page: http://www.slagcoin.com/joystick/mounting_layering.html.
So anyway here is how I did it.
Prepping the board:
- To figure out where to put your buttons, download a template of your choosing at http://slagcoin.com/joystick/layout.html. Make sure you print it out to scale or it won't be correct!
- Use template to mark drill points
- Drill out button holes with 1 1/8 spade bit. (or whatever your buttons require).
- Drill out larger hole for joystick. I think I used a 2.5 inch forstner bit.
Mounting board on the cabinet:
- Figure out the angle for the control panel. Easiest option would be to make it flat. I did not want it flat. If I did, I would have just rested the board on the base cabinet, and probably add some support boards.
- Once an angle is decided, cut two boards into right triangles (same sizes). Picture 7. The boards don't extend past the front of the base cabinet, and are flush with the display cabinet. I screwed these boards into the sides of the base cabinet from top on down (screws through the hypotenuse of the right triangle).
- Since the board for the control panel extends passed the end, I needed something to support it beyond the front of the base cabinet. So I cut a board to the width of the base cabinet and some other boards to create a sort of frame that extends the top of the base cabinet just enough to support the board. Picture 8.
- I also added another support board that runs the width of the base cabinet. This is screwed to the triangle boards at an angle using 90 degree braces. I tried to get the edge the control panel would rest on to be flush with the triangle cut boards.
- After getting that all done, I then positioned the board and realized, I wanted the front edge of the board cut at an angle. I used a circular saw set to an angle to do this (and messed up the board a little). Probably could use a more close up picture of the control panel and its frame on the finished cabinet
Buttons and wiring:
- Putting on the buttons is pretty easy, probably don't need to elaborate this part.
- The wiring is a bit of a pain, just try to be organized.
- Be sure to get the wires attached to the right button switch leads. Each button will have a common/on/off contact. So depending on how you connect the wires, your button might show up as pressed or not. If you use raspberry pi and raspbian you can test with "jstest /dev/input/js0"
Here are some mistakes I made while making the control panel
- First attempt used too thin of a board. It was a nice board, but the joystick screws would go right through it, and there was no way it would have been able to handle the stress of some serious donkey konging.
- Drilling the button holes with spade drill bits caused a lot of wood chipping on the under side of the board. It ended up working out, but would have preferred to not have the underside so beat up
- My large circular saw chipped some wood on the last cut of the board. I was too far committed to that board to go back so I did my best to repair with wood fill
Construction Finishing Touches
At this point everything should be ready for final assembly, if you are attempting to follow my instructions (I'm sorry) you might have already attached everything. Otherwise its time to put the base cabinet where you want it, put the display cabinet on top, and hook everything up. Just some notes on these various steps then I'll get into electronics/software
- Just resting the display cabinet on the base cabinet will look nasty, I tried to cover up the gaps/seams where the two boards meet with another angular cut piece.
- The display cabinet is screwed down to the base cabinet in a few spots.
- T-molding: I never used a router before and this was my first attempt since all the other diy arcade cabs use t-molding. For starts I'd say do your slot cutting prior to assembly. I tried it at the end and it did not go so well. It didn't completely ruin my cabinet, but I'm too nervous to finish the job now. If you don't know what I'm talking about with T-Molding, check http://www.instructables.com/id/Easy-Cab-arcade/
- Marquee: The speaker section is covered by a board right now (not screwed in/glued). I intend to replace with acrylic plastic with some sort of cool decal and install an LED back light. Not done yet. After getting everything else done, its one of those things I just felt could be put off.
- Second door: You need to be able to access the interior of the base cabinet. This can be done through the coin door but the coin door is kind of small. Our base cabinet came with a hole in it, so I just made the hole bigger and made a door there. Had an unused lock lying around and added that so the kids wouldn't steal the quarters. Hopefully they won't be breaking in until they are at least 5.
Electronics and Software
This subject is covered so thoroughly in so many places and there are a ton of options to pick from. Our projects goal was low cost and low power. I have an embedded programming background and wanted to go with a cheap single board computer. I chose raspberry pi 2. With this hardware I had 3 choices: I could go baseline linux and install software as needed, or try out either PiPlay or RetroPie. PiPlay/RetroPie are linux images (raspbian) packaged to include all the stuff you need for setting up an arcade cabinet.
Retropie works great right out of the box so to speak. Not going to talk about how to install, thats written somewhere else. Only issue I had with it was that its driver for the USB arcade controller interface was set up to make it appear as a single 2 axis joystick. This won't work if you want to play multiplayer with a particular emulator (Final Burn Alpha). So I found a fix that required installing a new driver and it worked. Rather then compiling on my own, I just downloaded binaries from somewhere else. The solution I found is talked about on this forum: http://blog.petrockblock.com/forums/topic/autofire-on-the-axis/
Note on Upcycling the Cabinet: The cabinet had two drawers and the front panel that came off. I used the drawers to make the Sock Organizer that we keep by our front door to help speed up our exit from the house (two toddlers searching for socks takes FOREVER). I'll be using the front panel for another project so keep an eye out for a really cool upcycle post!
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”