I've always wanted my own arcade cabinet. One of my dreams is to own an arcade at some point. After diving into the realm of Raspberry Pi-based emulation for a previous project, I decided I would take it up a notch and build a bartop arcade cabinet. I'm glad I did, because the final build exceeded my expectations by far!


The cabinet itself was constructed by me and my dad from a sheet of plywood, but if I were to do this again I would pick a better material. Don't get me wrong - it looks good - but the grain of the plywood is unappealing to me (not a huge deal with full coverage graphics) and drilling holes was more trouble than any other part of the project. That being said, for the price and weight it makes a lot of sense.

The software is run through a RetroPie Pi image using the Emulation Station frontend, run on a Raspberry Pi 2.

The audio is routed through a usb audio adapter (fixed a distortion bug with the Pi,) into an amplifier, routed to a set of Kicker DSC35's with the volume controlled by a 1k potentiometer. The amplifier is powered by one of the 12v 5a 60w power supplies.

The video is sent from the Pi to a 19" computer monitor with an HDMI > DVI cable.

The main LED buttons are powered through the USB encoder board that came with the kit, and the marquee LED strips and 12v triangle LED buttons are powered through the barrel jack with one of the 12v 5a 60w power supplies.

Step 1: Parts


Step 2: Initial Design

I found this cabinet plan online on this site. It's kind of unclear what piece is what, but figuring that out wasn't incredibly hard. I labeled the pieces in the attached image for reference. It should be noted that I nixed the keyboard tray, so the front panel where that would have been is just one piece.

I wanted to do full coverage decals, so I made the attached mockup in Photoshop. I had the sides, bezel and control board printed on gloss vinyl decal material at a local print shop. I had the same shop reverse print the marquee graphic onto the plexiglass piece used for the marquee, which worked out really well. It allows the light from the LEDs to shine through the graphic without issue and with enough diffusion to not get any light pinpoints from the LEDs.

A note on the control board graphic - if you want a piece of plexiglass over the wood, I would reverse print the graphic on it instead of getting a decal. After I installed the LED buttons, the areas of the plexiglass that weren't pressed against the wood looked as air bubbles in the light from the buttons. So I skipped the plexiglass on the control board altogether until I have the graphic reprinted on the original piece that was cut and drilled.

Why are there 11 buttons for each player? This setup will allow for a full N64 controller button layout. You can get away less buttons if you aren't running N64. PS1 and MAME will be the next largest setups of buttons, with PS1 using 10 each and MAME using up to 8 each. To be fair, the N64 emulation on the Pi is a little sketchy, so unless you want to play around with backend settings over and over and over...you might want to skip that thought completely.

Step 3: Prototyping

I used a half-sized breadboard to get all of my random power connections in one place. The original idea was to have both the amplifier and the LEDs powered off the same supply, but the 12v 5a 60w power supply I had seemed to cause static in the audio with everything powered, so I ended up letting the amplifier and the LEDs have their own independent power supplies (hence the two different breadboard setups in the pics.) The static went away, but I think I'm probably missing a basic principal of electricity that would have allowed for one PSU to work here.

That being said, my buddy suggested an ATX power supply that pushed varying voltages. A proper sized one would allow for everything (the monitor, the PI, the amp and the LEDs) to be powered off of one unit. I already had power supplies laying around and a power strip so I didn't mind going the power management route I took for this build. Future builds of something like this for me will definitely use the ATX supply method.

I created a pseudo control board out of a cardboard box to test the functionality of the buttons and work with the programming of the button config for the Pi.

Step 4: Cutting the Pieces

Outlines were drawn on the plywood sheet and each piece was cut out by hand with a jigsaw. The plans from the previous step show the size of all the rectangular pieces.

The sides are a little tricky to measure out properly, so I redrew them in Illustrator and printed full size outlines to use as a stencil. I also did this for the monitor bezel as I needed the window to be a specific size and location for the monitor and the decal to line up properly, as well as the button holes for the control board (PDF files attached.)

The sides and monitor bezel were printed on 24"x36" sheets of the cheapest paper they had, and the control board was printed on an 18"x24" sheet. **Definitely measure your own monitor and design of your bezel graphic in relation to your own project and adjust the stencil window as your design may well be different**

I added lines down the sides of the sheets every inch to be able to measure the print to make sure the printer didn't adjust the size of the image. If you print stencils at Kinkos or Office Depot or wherever, make sure you tell them to not let their printer or program scale the image. It is a stencil, so you need it at exact size.

Cut pieces were sanded until smooth. Make sure you sand the heck out of any pieces you are going to apply decals to. You want them to be smooth so there is a nice surface for the decals to adhere to.

Plexiglass was cut to use for the marquee and the control board. Another piece would have been nice for the monitor bezel, but poor planning on my part made that a super hassle. Drilling holes for the speakers through the plexiglass and the monitor bezel at the same time would have been nice.

Step 5: Assembly

First we attached the marquee boards to the monitor bezel with wood glue and then secured with screws from behind the bezel. After we had a good idea about the remaining space available on the bezel, we put another stencil down for speaker holes. Most would put the speakers up in the marquee facing down, but I really liked the sound projection better with the speakers pointed at me. I put nail holes into each hole on the stencil and then when back with a drill and made the final holes.

Next we needed to get the middle pieces to attach to the sides. We created a bunch of braces with some scrap 1"x1" strips of pine from a previous project. These braces were affixed to the monitor bezel/marquee section, the control board and the front piece with wood glue and secured with wood screws.

Going off only the picture in the initial plans, we decided where everything should sit through trial and error, laying the bezel/marquee section along with the front section and control board against one side section until they fit right. At that point we traced around the braces on the side section, then removed the pieces and drilled pilot holes where the braces would sit.

We then put the pieces back on the side section with wood glue and used wood screws to secure them to the side. After the pieces were connected to one side, we laid the other side on top and adjusted until it lined up with the other side. The same technique of tracing the braces was used, pilot holes were drilled, wood glue and wood screws were used to connect the side.

The back section was attached with hinges on the bottom of the cabinet and secured closed with a latch on the top to provide access to the internals for maintenance.

Step 6: Painting

Everything was spray-painted black and 2 coats of polyurethane were applied. I sanded with steel wool between coats to give it a nice finish.

Step 7: Decal Application

I was waiting for this step the entire build. The cabinet looked cool by itself, but the decals really take it to the next level.

Applying decals is tedious work. If it's not for you then you are probably doing it carelessly. Take your time because you want all the sweet art you made to line up properly. I find it easiest to start from one side and work towards the other side slowly, making sure no bubbles are forming as you press the decal flat. **Make sure you print your decals with enough bleed to give you a little wiggle room in case it isn't lining up perfectly**

I cut the monitor window and speaker holes out with an Xacto knife. The speaker holes are cleaner than the pic above - just had to take some extra time and trim super carefully.

Step 8: Marquee Creation

Aluminum foil tape was used to get a nice uniform light disbursement inside the marquee area. I used 2 strips of 5050 SMD warm white LEDs to light the marquee. I tried cool white, but with the earth tones in the decal art the warm white looked way better.

I installed the 1k pot in the base of the marquee for easily accessible volume control. I used a 3-prong servo connecter for a quick disconnect on the other end of the wiring.

Step 9: Speaker Installation

The speakers were added to the back of the monitor bezel with bolts and wire run to the base of the cabinet.

Step 10: Attaching the Monitor

If the monitor you bought has mounting holes on the back of it, they can be used with a strip of wood across the back of the monitor.

Mine didn't have them, so I disassembled the monitor and pulled the LCD and attached casing. Because the edge of the actual LCD was metal, I covered the edge with black electrical tape prior to mounting for aesthetics.

Using the 1"x1" pine scraps from before, we created a frame for the monitor to sit in. I wasn't thinking about it at the time, but I would rout a channel for the lip of the monitor to sit in to get it more flush with the front of the machine next time.

Step 11: PCB Shelf

I found the tackiest duck shelf at a thrift store for $1. I cut the top off and made a little shelf for the Pi and the breadboard. I used standoffs from the hardware store to elevate the boards. I secured the shelf into the cabinet with screws from underneath.

Step 12: Control Board and Front

Using the stencil, holes were drilled with a drill press for the buttons and joysticks. Channels in the underside were routed for the joysticks to set in, as well as sections of the braces to allow for the ridiculous amount of buttons in such a small space. The holes for the front triforce were drilled at this time also.

I applied the control board decal after the holes were drilled and hand cut the holes in the vinyl with an Xacto knife. All buttons were then attached and the wiring connected to the USB Encoder. The triangle buttons were installed on the front section while the control board was out, then everything put back together.

**UPDATE** I had someone inquire about keeping the LED buttons on all the time. I've included a pic that shows the rewiring for the set I purchased. Note: this might not be the same for your buttons...

Step 13: Hooking it All Up

Now that everything was installed and wired, it was time to hook everything up.

On the breadboard, the leads for the LEDs in the marquee and the triangle buttons all run to the same power bank, connected to a 2.1mm barrel jack. I used 2-prong connectors for a quick disconnect on the breadboard side.

The triangle buttons are all wired into the same button (not pictured except for in the schematic) so that pressing any of them has the same effect - in this case exiting a game back to Emulation Station. This was also done with a set of quick disconnects.

The amplifier has both speakers, a 12v 5a power supply, the potentiometer and the 1/8" audio cable running into it.

The Pi has both USB encoders running into it, as well as the USB stick running the software and the USB audio adapter. The video is hooked up from the HDMI-out on the Pi to the DVI-in on the monitor.

In order to have a switch on the outside of the cabinet that would shut everything off, I removed the switch from the power strip and mounted it in the back cover. A C14 plug with a switch would have been a better solution here.

Step 14: Software Side

I wrote an Instructable earlier this year called Piulator that outlines the process around installing and modifying the software on the Pi. It can be located here.

A few things to note that are different than my portable build:

  • I am running the RetroPie image off of a USB stick instead of an SD card. You can find a great tutorial on that here.
  • The Pi 2 image is different than the B+ version. Make sure you download the right one for your system.

Like my previous build, I created a theme for Emulation Station with Photoshop and Dreamweaver. You can find the guide I wrote for theme building in the Piulator Instructable.

If you have specific questions on the software side of this, check out the Pet Rock Blog forums. If you have a question, there is likely an answer on there.

Step 15: Conclusion

This was really fun to put together and even more fun to play!

Changes I would make moving forward:

  • A more sturdy building material, although I really like the weight of the cabinet with the plywood
  • Reverse printing on control board plexiglass
  • Plexiglass monitor cover
  • ATX power supply
  • C14 jack with on/off switch instead of modified power strip
<p>Hi great work,</p><p>any chance getting the decals?</p><p>Thanx from Germany</p>
<p>Is there anyway you can repost the decal templates? This build is awesome!</p>
It's amazing! &lt;3
<p>How did you attach the marquee?</p>
<p>the first thing i thought when I saw this is &quot;I need to build this!&quot;</p>
<p>Wonderful project!</p><p>Thanks for sharing it with a great guide.</p>
<p>Could you send me the decal sizes or the template files? I tried the links and they didn't work, Very Impressed</p>
<p>Would you be willing to share the full sized image files you used for the decals? I didn't see them above. Flattened is fine.</p><p>It looks very impressive!</p>
<p>Thanks for the kudos! I can't pass the art along, but I can give you template files if you would like.</p>
I would like the templates!
<p>Here are PSDs of my working template files as well as an AI file with the pieces broken out into separate artboards. </p><p>**Make sure you adjust the monitor window on the screen bezel to match your specific build, as well as the position of the joysticks/buttons. </p><p>**The sizes on the joystick/buttons in the template are to scale for the set I purchased referenced in this instructable.</p><p>**Bleed is added into the &quot;sides&quot; PS template, but not referenced with a layer.</p><p><strong>Photoshop files:</strong></p><p>Control board: <a href="https://www.dropbox.com/s/9kb4b7o5c2i5yo1/zeldaCabinet_controlBoard-template.psd?dl=0" rel="nofollow">https://www.dropbox.com/s/9kb4b7o5c2i5yo1/zeldaCab...</a></p><p>Marquee: <a href="https://www.dropbox.com/s/x1d2eh7kqz8uo16/zeldaCabinet_marquee-template.psd?dl=0" rel="nofollow">https://www.dropbox.com/s/x1d2eh7kqz8uo16/zeldaCab...</a></p><p>Screen Bezel: <a href="https://www.dropbox.com/s/5x0x2aizg2rt784/zeldaCabinet_screenBezel-template.psd?dl=0" rel="nofollow">https://www.dropbox.com/s/5x0x2aizg2rt784/zeldaCab...</a></p><p>Sides: <a href="https://www.dropbox.com/s/pnl0h5d2twz68qb/zeldaCabinet_sides-template.psd?dl=0" rel="nofollow">https://www.dropbox.com/s/pnl0h5d2twz68qb/zeldaCab...</a></p><p><strong>Illustrator file:</strong></p><p>All: <a href="https://www.dropbox.com/s/ueg673rcsi2h7zc/zeldaCabinet_decals-template.ai?dl=0" rel="nofollow">https://www.dropbox.com/s/ueg673rcsi2h7zc/zeldaCab...</a></p>
<p>Hello, i'm gonna to build my own Bartop and i can't believe how amazing is yours!! I'm in love about The Legend of Zelda since i'm a kid (long time ago :/ ) and i really would like to be able to use the coverage decal that you did. Unfortunatly the link for the Photoshop files are dead :/ So could you, please re-upload them? The child inside me would be very happy there^^</p><p>Thank you and really good job for that dream Bartop :D</p><p>p.s: sorry for my mistake in English, i'm not thaht good with this language :P</p>
Nah, that's alright, thanks anyway!
<p>Looks fantastic, I just have one question, you may have mentioned it but I couldn't find it anywhere, what are the dimensions of the plexiglass piece for the marquee?</p>
<p>I measured the marquee plexiglass after the cabinet was assembled. I didn't want it to be off if I placed the bottom 'shelf' of the marquee incorrectly.</p>
<p>Ah, got it, thanks for the reply. :)</p>
<p>Do you know the full cost to build ones of these?</p>
<p>~$500 depending on materials. </p>
<p>Oh wow, that's definitely within my budget. Thanks for the response! My second question would be, are you willing to make more for some extra cash? :p (Serious question though)</p>
<p>I tell you what - my dog needs surgery and I started a GoFundMe campaign. I have an offer for a build on there if you wanted to go that route. Not only would you get a cabinet but you would make a serious contribution to my dog's opportunity for continued living. http://www.gofundme.com/ze2jx78</p>
<p>I have ocarina of time on my 3Ds and I was trying to get Majora's Mask So if this is only Ocarina of time could you tell me how to program majora's mask into this</p>
<p>Any chance you can provide your emulation station theme?</p>
Ezeisel - USB over SD because there is a much lower chance of a USB drive frying than an SD card. I personally have burned out a few SD cards on other projects and I wanted this to be as stable as possible. Also, you can get much larger USB drives than SD cards, so if you plan on adding a few hundred gigs of roms you will want a larger drive. <br><br>11 buttons for each player to support a N64 controller setup.<br><br>2 USB encoders are for 2 separate players. That is just how the kit I purchased is setup. Some sets only have one encoder.
<p>If you really want durability use an external HD. Most USB drives/sd cards aren't built to survive a ton of read/write cycles.</p>
<p>Thank you! What do you recommend -- I am going similar 2 person joystick and button setup, but want to add 2 usb ports to be able to have Makey Makey controls plugged in. That would use up all 4 Raspberry Pi 2 USB ports to have 4 players. Can I get away with using an SD card (was going to add heat sink and a small Pi fan) or is there a workaround?</p>
<p>You can use a powered USB hub to add USB slots to the Pi. I think this is another item where you don't want to go cheap unless you are prepared to replace if it craps out.</p><p>I would recommend the USB over SD, unless you are prepared to replace SDs if/when they go bad. Decent USB drives have a considerably less chance to fail on you. That being said, if you aren't using an incredible amount of drive space for your build then a (relatively) small SD would be affordable to flip if it ever crashed. Just make sure you make an image backup when you get your system in order!</p>
<p>I love your project. When I made mine I went with a lexan covered monitor. I ended up removing the lexan and cutting out the monitor hole because the glare was terrible. Unless the room is completely blacked out. Any light source made it difficult to see. I have one question because i was going to make one from an N64. How does it play without an analog stick? I assume those are regular joysticks and not analog controls?</p>
<p>Yes, they are regular joysticks. I think it plays well for what I have played. N64 emulation on the Pi is hit-and-miss without adjusting settings and trying different emulator builds, so I haven't got all the kinks worked out to play more than a few games yet.</p>
<p>that is really amazing work, would it be possible to get the graphics files for it as well? I am handy at building stuff but.. not so much with artwork.</p>
<p>Thanks for the kudos! I can't pass the art along, but I can give you template files if you would like.</p>
That would be great, maybe see what some of the talents i know can do.
<p>See above for links!</p>
<p>Fantastic work, and it's nice to see an arcade cabinet which has been made using small hand tools rather than a big CNC or laser cutter. Love the refactoring of the shelf from the thrift store too, very imaginative. I'm hoping to build a floor standing cabinet soon with a Raspberry Pi Mame installation, will be following many of your techniques. Thanks!</p>
<p>Thank you and agreed! I don't have access to those fancy machines, so I make due with what is available.</p>
<p>Ocarina of Time? How do you control the camera with only one analog stick?</p>
<p>Check out this image for how the buttons are configured for N64 play.</p>
Interesting, thanks! You know what, I forgot that the N64 controller had only one analog stick, must have been confusing it with other games I was playing in the same era.<br><br>I will admit, I needed to look up a manual to get my memory up to speed: http://gamesdbase.com/Media/SYSTEM/Nintendo_N64//Manual/formated/Legend_of_Zelda-_Ocarina_of_Time_-_1998_-_Nintendo.pdf
Wow! <br>Amazing work!
Plywood is still the best option, you shoukd look into plywood with &quot; one side good&quot; which is any plywood with a vaneer (sp) maple probably would have been the cheapest.
Also called G1S (good 1 side)
<p>Excellent, I have not heard of that before but will look into that in the future!</p>
<p>That's amazing! You should be proud! From one Zelda fan to another! :D</p>
<p>That is fantastic. Amazing work! It looks so professional. :D</p>
<p>Yeah...half inch MDF would have been fine for a project like this. The MDF would probably have needed to be sealed with something like an epoxy sealer coat, or something similar that is stable. I agree that that particular plywood you used is too grainy. Budget can't be helped sometimes though. Excellent project. Nice work.</p>
Would MDF boards be better?
<p>MDF is insanely heavy, but looks smoother...</p>
<p>MDF would definitely work and is what the original plan I went off of recommended. </p>
<p>I &lt;3THis game i play it all the time</p>
<p>this is high quality work right here</p>
<p>One word 'AWESOME'</p>

About This Instructable




More by phrazelle:Legend of Zelda Bartop Arcade Cabinet Arduino Basketball Pop-a-Shot: Upgrayedd Piulator Portable Game System via Raspberry Pi 
Add instructable to: