Build a Coctail Arcade Cabinet using Raspberry Pi

In this guide, I will build a small cocktail arcade machine based on RetroPie running on Raspberry Pi. It has an ‘old school’ look with original arcade controls, can be played with any USB controller you can find, is fairly cheap and easy to build and there is an unlimited amount of retro game ROMS available online.



Buiding The Cabinet

To start, we need to assemble the cocktail arcade kit. These kits usually come with their own guide, I will not cover the build in detail.

Installing Controls

First, assemble your buttons and joysticks by connecting the wires to the correct terminals, The controls kit usually comes with some guidelines but for my buttons&joysticks the wiring is as follows:

(warning there are different versions of these buttons around, some may have different wiring although being from the same company/brand)

Then put the buttons in the pre-drilled holes in the control panel and use the nuts to secure them in place, once all buttons are installed, you can install the joysticks. These should sit on the bottom of the control panel and are slightly sunk into the wood. Use the mounting bolts and nuts to secure both joysticks in place. When the joystick is secured, put the dust protection cap over your joystick and then screw the top on.

The controls kit should come with two USB controller chips. Connect the joystick cable in the large connector opposite to the USB connector. Then plug the buttons in the 3-pin headers on the controller board. It does not matter what connector you use but I recommend at least keeping both players wired the same.

To exit a game, we need a “hotkey” button that will quit the game when pressed in combination with the select button of either player. I’m using a momentary red switch which I wired to one of the player boards using one of the wires of the unused buttons. In my case, the yellow and black should be used to make the board register presses on this button.

Then I used some hot glue to secure the controller boards in place. To test if all buttons are working, you can connect the board to a windows computer and check if all buttons respond when pressed using the built-in controller utility. The LEDs in these buttons should automatically turn on when connected to a USB port.

If all buttons are working, your control panel is now done and functional.

Install Electronics

Provide Power

First, we need power inside of our cabinet. For this, I’m using an IEC female connector with fuse and switch on the back of the cabinet. The wiring is explained in following video.

Then I sacrificed a power strip I already had by cutting off the plug. The wires were connected to these power outlet from the button. I used double-sided tape to secure the power strip to the bottom of the cabinet


I’m using a very old Microsoft 2.1 Speaker set I had laying around. To keep the cost low any second-hand sound system will do just fine. I’ve seen people who installed a simple Bluetooth speaker which was connected to the raspberry pi using a 3.5mm jack. To start, I stripped all the excess plastic from the speakers so I only ended up with the bare speakers, bare subwoofer with the controller board and the volume controls that used to be in one of the desktop speakers. For the subwoofer, I cut out a square hole on the bottom of the cabinet. This way I could drop my subwoofer case with the control board in the hole to make it sit flush with the bottom of the cabinet. then I used L clamps to secure the subwoofer in place. I used some hot glue to close any remaining gap between the cabinet and the subwoofer (this may also prevent rattling from bass sounds)

The cabinet came with 2 pre-drilled speaker holes on the bottom of the cabinet. I used some thin wood and cut out a hole that was enough to fit the speakers though. Then I used hot glue to fasten the speakers onto the wood as these speakers did not have any mounting holes. When the hot glue was fried, I screwed the thin wood from the inside so the speakers would end up facing outward these pre-cut holes. These holes will later be covered with a speaker grill so any imperfections will be hidden.

Now quickly test the speakers by using the 3,5mm jack on your phone or tablet. Try to play a song at high volume with some decent bass to make sure nothing is rattling inside. if so. This can usually be fixed with hot glue


For powering the LED strips, I’m using a small 8A power brick to provide power to the LED strip controller and coin door lights. The power brick was stuck to the cabinet using double-sided tape, the plug was plugged in the powerstrip I installed earlier and the other side was used to power the LED strip controller

For this cabinet I’m using 144Leds/m RGB 12V strips that will be controlled by a cheap/simple Chinese led strip controller. These LEDs are quite powerfull (+-80W/5m). The strips will be mounted onto the outside and underside of the cabinet using led strip profiles. These profiles were cut to size, pre-drilled and then screwed onto the outside of the cabinet as follows:

Make sure to leave a gap to feed the cables to the inside of the cabinet. Then I mounted the RGB Led strip controller on the inside.

Coin Door LEDs (12v van PSU of 5v van raspberry?

The coin door LEDs are 12V, I will use the same power brick I used to power my LED strips/controller. The coin door came with regular bulbs.

Mount Raspberry Pi

I bought the Raspberry Pi with an enclosure and simply used glue to mount the case on the side of the cabinet. I made sure I had easy access to the MicroSD slot.

Install USB Panel connector

I mounted 2 USB ports on the front of the cabinet. These holes were pre-drilled so I fed the cables through the holes and secured the extension cable in place using the included bolt. I had to leave a spacer out to make sit flush with the front of the cabinet.

Install Exit Game Button

To exit games, I installed a small metal ‘service’ button. I drilled a hole in the center of the front of the cabinet. Then pushed the button through and used the nut to secure it from the inside.

The button came with a 12V indicator light. I wired this LED directly onto the 12V adapter I ordered. To connect the button itself to the controller board, I used one of the cables for the extra smaller buttons that were included in the controller kit. Used a voltmeter to check what connectors were the actual button and wired this to the ‘service button’. After the wiring was done, I inserted the cable in the controller board for player 1 and the button was recognized when pressed in the software.

Finishing Touches

Mounting Cabinet Feet

The kit had wooden pre-cut feet for the cabinet but these did not seem to be very sturdy at all. Instead, I’ll be using hight adjustable arcade cabinet feet. This also improves the view of the under cabinet lighting from the RGB strips I installed earlier and gives some headroom when placed on an uneven surface.


The kit comes with pre-cut T-molding gaps. I chose black T-molding for the base cabinet and dark blue for the top panel (my artwork is dark blue so I chose accompanying T-molding). Start with your T-molding in an invisible place (right under the top panel in my case), then tightly squeeze the band in the pre-cut gap. to make the corners sit flush, use a boxcutter to cut away some of the excess T-molding. This can be a bit hard on the control panels and if the T-molding won’t keep in place, you can use some hot glue to make sure it stays in place

Install Screen

The kit came with a VESA mountable screen mount, I had to add small blocks under them to get it to sit flush with the top of the cabinet but eventually, the installation was very simple:

Make sure the screen sits flush with the top of the cabinet.

Cover Plate

The cover plate, artwork and glass cover were included in the kit. Simply stick the artwork the wood cover plate, then place the glass on top and secure it with the 4 large butterfly nuts that are also included

This top panel will just sit on top of the cabinet, there are 4 cutouts in the top panel which will line up with 4 parts on the cabinet

All of your electronics are now installed and the artwork is applied. You are ready to prepare your raspberry Pi’s MicroSD.

Setup MicroSD and assign controls

If you downloaded a pre-built image, you can use this image. If you want a clean setup and add the ROMS yourself, download the latest RetroPie image for your raspberry Pi Here, then use Etcher(mac) or Win32DiskImager(win) to write your image to the MicroSD

When that’s done, put your MicroSD in your raspberry and turn on your cabinet. The first boot will take a bit longer for the initial installation but once everything is done you should see the following screen asking you to configure a controller

Hold one of the buttons of your arcade controls, the setup will ask you to configure the buttons for this controller, when it asks to configure a button that does not exist on your control panel, hold any of the configured buttons to skip to the next one. do this until you hit OK.

The last button is a hotkey, this is used to quit games when using a controller. I installed a dedicated hotkey button earlier and connected it to the player 1 controller board. Press this button when the hotkey is required. A USB keyboard can also exit games using the ESC key. When all controls are assigned, press ok, you will get a warning when not assigning the hotkey, you can skip this if you have a USB keyboard attached. The RetroPie main screen should now open.

Split screen Setup

I was not able to test this yet but this tutorial should split the screen in 2 so each player can play the game in the correct orientation. I will create a new guide if I managed to get this done.

Tutorial: Split screen cocktail mode on retropie from RetroPie



3 Responses

  1. I think Bill was asking about an image (copy) of the raspberry PI OS/SW build. Do you have a copy of the image used on the RasPi.

Leave a Reply

Your email address will not be published. Required fields are marked *

On Key

Related Posts