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!
Overview
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
- 4' x 8' x 5/8" sheet of wood of choice
- 20" x 15" of plexiglass
- Raspberry Pi 2
- USB audio adapter
- 20W class D amplifier
- Pair of Kicker DSC35 speakers
- 1k potentiometer
- Potentiometer knob
- 19" computer monitor w/ DVI input
- HDMI > DVI cable
- Half-sized breadboard
- 128GB USB thumb drive (Don't buy a cheap one. Seriously. Don't buy a cheap one. It will fail and you will be pissed.)
- 1/8" > 1/8" stereo audio cable
- USB Encoder, Joysticks and 20 LED buttons
- P1 & P2 buttons
- Triangle LED buttons
- Warm white 5050 SMD LED strip
- Aluminum foil tape
- Power strip
- 12v 5a 60w power supply (x2)
- 2.1mm barrel jack
- Speaker wire
- Extension cable wire
- Repurposed tacky shelf
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
83 Comments
6 years ago
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...
Reply 6 months ago
Could you maybe reupload the files if you still have them? The links are no longer working.
Reply 6 years ago
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
Reply 6 years ago
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! :)
Reply 6 years ago
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.
Reply 6 years ago
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!
Reply 6 years ago
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.
Reply 6 years ago
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!
Reply 6 years ago
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:
https://www.dropbox.com/s/elx6ufqttztwc09/zeldaCabinet_screenBezel_24x18-75.jpg?dl=0
Marquee:
https://www.dropbox.com/s/ki9jxdijebqsr2h/zeldaCabinet_marquee_24x5_PRINT.jpg?dl=0
Control Board:
https://www.dropbox.com/s/jptxf7021sc684m/zeldaCabinet_controlBoard_24x10-5.jpg?dl=0
Reply 6 years ago
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!
Reply 6 years ago
Whoops! Here is the link to the marquee:
https://www.dropbox.com/s/grmtc99wj5bu22k/zeldaCabinet_marquee_20x5_PRINT.eps?dl=0
Reply 6 years ago
The link you provided for the Marquee is actually the same link as the Left Side piece, can you please fix the link?
5 years ago
So I finally got this thing done about a month ago, been meaning to come post a few pics. I got alot of stuff done on the software backend for custom zelda menus etc. Also changed the marquee lighting to be sound reactive and change colors. I will try to get some more shots of internals and such. Added USB plugs on the front too to support 4 player or controller play. Considering adding led pads to the buttons, I wanted old style american arcade buttons with cherry switches, unfortunately those done come in light up versions. Also replaced the plastic marquee bracket with 1 inch 90 degree corner hardwood trim.
Reply 5 years ago
This is great! Nice work!!
Unless those are the "all-in-one" buttons (and they look like they are, so probably ignore this) you should be able to buy cherry switches and flip them out.
Love the trim on the marquee! Do you envision any issue if you have to service the marquee leds?
Would love to see more shots both inside and out!
Reply 5 years ago
I did have some issues with the Plexiglas cutting. I tried to do it myself on a router and ruined 50 dollars worth of nice scratch resistant stuff towards the end of the cut. Had to buy a new piece and had it cut on a water jet at a friends shop. Uses sega 2p button layout. The screen and marquee cover are tempered glass
Reply 5 years ago
I put .75g Cherry switches already in all buttons I just could not find long barrel suzp-happ old style buttons that were pre-lit, however I have found some lighting pad kits that fit inside of them. The marquee is easy to open up, the top bracket is just compression fit in there I just cut it a bit over and sanded it til it fit tight. I used rgb led strip from amazon and bought a cheap controller that I put next to one of the speakers inside the marquee box for sound reaction. The monitor is a 1600x1200 4:3 IPS 19" I found used on ebay for 50 bucks(score!), speakers are two kicker car speakers on some dinky 25$ amp I found on amazon. Will try to get some more pics of internals and stuff to post.
5 years ago
Thanks for the inspiration. I recreated some of the artwork and designs to make my own custom project with a picade enclosure as the base. Still working on the software which will take a while but it will play up to PS2/3DS currently and supports wireless controllers and hdmi output for "console mode." Marquee and buttons light up, joystick lights up and slowly pulses. Button configurations are automatic and the limitation of buttons is handled by shift keys, tripling the count of button configurations.
Reply 5 years ago
Looks great! I love the rupee joystick topper!
Question 5 years ago
Would anyone be willing to make this for me and I will pay them?
6 years ago
Does anyone still have the PSD files for the sides? I would like to modify the shape of the arcade a bit.