Legend of Zelda Bartop Arcade Cabinet





Introduction: Legend of Zelda Bartop Arcade Cabinet

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

3 People Made This Project!


  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Pro Tips Challenge

    Pro Tips Challenge
  • Paper Contest 2018

    Paper Contest 2018

We have a be nice policy.
Please be positive and constructive.




Does anyone still have the PSD files for the sides? I would like to modify the shape of the arcade a bit.

It's almost Christmas and I'm feeling Christmas-like, so here are the art files for the cabinet along with the theme for RetroPie!

These all have 0.25" bleeds on them, so keep that in mind.

The monitor bezel should probably be exported again with the hole for the monitor adjusted for your build, so I included the EPS and PSD files for that one.

Monitor Bezel - https://www.dropbox.com/s/li901zrzcrdb865/zeldaCa...

Monitor Bezel PSD - https://www.dropbox.com/s/dt1ld5trggpmmt7/zeldaCa...

Control Board - https://www.dropbox.com/s/90esexijp1dpio0/zeldaCa...

Left Side - https://www.dropbox.com/s/l4swz3zyv0zuczl/zeldaCa...

Right Side - https://www.dropbox.com/s/8jmc3msk9i141dz/zeldaCa...

Marquee - https://www.dropbox.com/s/l4swz3zyv0zuczl/zeldaCa...

RetroPie Theme 4:3 - https://www.dropbox.com/s/7zsnie9bewutnm7/zelda_re...

RetroPie Theme 16:9 - https://www.dropbox.com/s/cc6e9h479hw5mw7/zelda_re...

Any chance you can post the Marquee Print EPS or psd file? The link above for the Marquee goes to another copy of the left side print. I am working on making this project right now. I have a cnc router to work with, do you think I should pocket in joystick mounting for a top mount with plexi control panel covering it? or pocket from the bottom? Also I know most everyone builds with battons/wood blocks locating stuff for assembly, but I had though about routing 5/8 channels .25" deep along the side panels to locate/lock in the main cross sections like the monitor and control board, is this a bad idea?

Sorry for all the questions, my first arcade project

Here is the link to the marquee: https://www.dropbox.com/s/grmtc99wj5bu22k/zeldaCabinet_marquee_20x5_PRINT.eps?dl=0

I would pocket from the bottom for the joysticks so it looks cleaner.

As for the 5/8 channels in the side panels for the monitor/control board/back, I think that's a great idea! Would be a lot cleaner and less work than attaching all the wood blocks.

Let me know if you have any other questions, and throw some pics of your build in the comments when your done! :)

Will do! thanks for all the info, you rock! I think I too am going to stretch it out to 24" wide. Not because of monitor (using a 20" 4:3 ips) but to have more room for two players without bumping elbows as much. Going to route joysticks from under like you said. Rounting channels for the monitor board, and a few other cross pieces and extending them a bit to fit the channels. Think I'm going to change the back panel/door a bit and maybe make the control board hinged for access and to hide/easily remove bottom of the monitor bezel. Changing the control layout to the sega player 1 + player 2 layouts. Will post pics when I have something more to look at. Its all a pile of parts and a cad drawing ATM.

Sounds awesome!

I like the idea of the hinged control board. I've been adding magnetic catches on the control boards for new ones that I've been building. Pardon the crude mockup, but here is an example of that. It makes pulling the control board a lot easier for servicing. Hinges would complete that thought, so I might go that route in the future.

My new ones have been 24" wide as well, and the extra room for two people is great.

Can't wait to see your final build!


ooo I like the magnet idea, I think I will do the hinge on the front inside and route in a few holes for magnets like that towards the bezel to lock it down.

Do you happen to have a Control Board file that does not have the button markers on it? I am going to build this machine, but I'm planning on only having six buttons per player. Also, I'm using a 24 inch monitor. Do you anticipate that the artwork will look bad if stretched to fit that scale? Thanks!

Per your dimensions in your direct message, here are the marquee, control board, and screen bezel graphics at 24" wide. (with a 0.25" bleed on all sides)

I took the middle out of the screen bezel so you can cut your own out based on your monitor's actual size.

Let me know if this doesn't work for you!

Screen Bezel:




Control Board:


Thank you! These are great! The control board and marquee are perfect. My screen is wide (16:9 aspect ratio), and I only expect to have 1 - 1.25 inches to work with for artwork around all four sides, so I will probably have to find something else for the bezel. I'll let you know exact measurements when I find out. Thanks again!