DIY Arcade Cabinet Using A Raspberry Pi

[vc_row][vc_column width=”2/3″][vc_separator][venera_framed_image content_type=”video” css_animation=”appear” frame_type=”browser” slider_engine=”flexslider” video_link=”” browser_url=””][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_tabs][vc_tab title=”About This Project” tab_id=”1402713028-1-39e9a4-2f888a6d-d37d76d3-94ce”][vc_column_text]

The $35 Raspberry Pi has proven to be a hit amongst hardware hackers and DIYers. It’s very small, easy to set up, and very versatile. This tutorial walks you through the steps of creating and setting up an Arcade cabinet using a Raspberry Pi as the core.


[/vc_column_text][/vc_tab][vc_tab title=”Parts and Downloads” tab_id=”1402713028-2-39e9a4-2f888a6d-d37d76d3-94ce”][vc_column_text]

Parts List

The prices really depend on what you would like to purchase. Depending on what you already have available, it’s possible that you may not have to spend over $50.

Raspberry Pi Arcade

Part name Price
Raspberry Pi $35
Wifi Adapter $17
Ethernet Cable $3
SD Card $6
Powered USB Hub $4
USB Mouse $6
USB Keyboard $5
Monitor (may also need an adapter) $120
USB Joystick and Buttons (optional) $27
Arcade Cabinet Kit (optional) $200-$500

[/vc_column_text][/vc_tab][vc_tab title=”Assembly” tab_id=”1402753910272-3-88a6d-d37d76d3-94ce”][vc_column_text]

Raspberry Pi Setup

Installing the Operating System

There are several different options when it comes to emulators on the Raspberry Pi, but in order to make the Pi function as an Arcade, one stands out amongst the rest. It’s an opensource program called AdvMame and what makes it unique is that it can be used in conjunction AdvMenu to automatically boot to your game directory. The only issue is that it requires a lot of editing and tweaks to get everything to work. Luckily the folks at have compiled a version of AdvMame with all the tweaks and edits so that it works specifically for the Pi. It’s called PiMame and can be downloaded and burned to an SD card.



To install PiMame on an SD card in Windows, you need to download an image burner such as Win32 Disk Imager. After you have PiMame downloaded, you should be able to extract it to view the PiMame.img file. Launch Win32 Disk Imager and under “Image File”, select the PiMame image. For “Device”, select the drive letter for your SD card. Then click “write” to burn the image to the SD card.



For Mac computers you do not need any extra software. Just download the PiMame zip file and extract it. Insert your SD card and open up a terminal prompt. Type in

df -h

Record all of the “disk” entries that are listed (ex. disks1). Go into your Disk Utility settings and find your SD card and unmount it (not eject). Then go back to your terminal prompt and type df -h again to see which disk is no longer there. The missing one is the disk ID of your SD card. With that in mind, type in this command

sudo dd bs=1m if=~/PATH TO PIMAME/pimame-0.5.img of=/dev/DISK#

where PATH TO PIMAME is the path to where you downloaded the PiMame image and where disk# is set to your SD cards disk number (ex. disks1 = disk1). Executing this command will burn the image to your SD card. When it’s done, you can type

sudo diskutil eject /dev/DISK#

This will eject your SD card.

First Run

Gridlee game splash screen

Once PiMame is installed on your SD card, it’s time to boot up your Raspberry Pi. Make sure that you have a monitor plugged into it as well as the powered USB hub with your USB wireless card, keyboard, and mouse plugged into it. As a pro tip, you can also plug the Raspberry Pi itself into the USB hub since the hub can provide enough juice to power the Pi. The only reason you would need the network cable is in the event that the wireless adapter doesn’t work and you need to download updates in order to get it working.

With the SD card in the Raspberry Pi, turn it on and you should see it boot to the AdvMenu where you will see a game called Gridlee already installed. You can use your keyboard’s number pad and enter key to select the game and play it.

Setting up wireless

The most optimal way for the Arcade cabinet to connect through the internet would be through wireless. But in order to tweak the AdvMame and AdvMenu setup, we need to first get to the command line console. If you are in a game, you can hit Esc on your keyboard and select Exit. This will take you back to the game menu. Then hit Esc again to exit the menu and bring up the command prompt. The newest version of PiMame includes Raspbian, which provides a Graphical User Interface (GUI) that has an easy to use wireless program.

Raspbian Wireless Interface

Making sure that your USB Wifi card is plugged in, type this in to access the Raspbian GUI:


This will launch the user interface in which the mouse will be enabled and can be used. Double click on the Wifi Config icon, which should be on the desktop. This will launch an interface. Click on the Manage Networks tab and select the Enabled radio button to enable wireless. Then you should be able to click scan to scan your area for wireless networks. Find your wireless network, double-click on it and enter in your wireless password. When you have successfully connected, you can logout of the Raspbian GUI session. At this point you can unplug your network cable and your mouse as they will no longer be needed.

Connecting via SSH

With the wifi enabled, the easiest way to work with the Pi is through SSH, which is essentially a way to remote connect to the Pi and run commands on it. Connecting via SSH requires finding the IP address of your Pi. The easiest way to do this is by typing


This brings up your internet connection settings with eth0 being your ethernet connection and wlan0 being your wireless connection. Immediately under your wlan0 connection, you should see the IP address assigned to it (ex. Once you have your IP address, you can connect via SSH.

Tweaking The Software

Adding Joystick Input

If you would like to be able to use joysticks and buttons with your arcade machine, then you will first need to purchase USB enabled joysticks and buttons. Depending on what you get and where you purchase them, the price can range from $25 to hundreds of dollars. When using them, make sure that you have them plugged directly into the powered USB hub, as joysticks sometimes require more power than the Pi alone can provide.

Once you have the joysticks and buttons hooked up and plugged in, we need to enable them within the software, because AdvMame has it turned off by default. So make sure you are at a command prompt and type

sudo nano .advance/advmenu.rc

This will open up the AdvMenu settings as an editable file. Within this file, you want to find the line that says:

device_joystick none

and edit it so that is says

device_joystick auto

Now hit Ctrl X on your keyboard and it will ask you if you want to overwrite the file, hit y for yes and then hit enter to save. You should now be back at the command prompt. At this point, you could restart your Pi by typing:

sudo reboot

It will reboot back into the game menu where you can start the game and see if the joystick functionality works.

Arcade Cabinet Setup


When it comes to monitors, just about any will do as long as you have the right adapter. Here you can find an HDMI to VGA and a HDMI to DVI adapter. Those two adapters should account for most monitor connections (including older CRT monitors). The main thing that you need to take into account is the size of the monitor and how it will fit into your arcade cabinet.


[/vc_column_text][/vc_tab][vc_tab title=”Important Links” tab_id=”1402753981900-3-108a6d-d37d76d3-94ce”][vc_column_text]

Help support my channel:

  1. Donate To My Patreon
  2. Follw Me On Google +
  3. Like Me On Facebook
  4. Follow Me On Twitter

[/vc_column_text][/vc_tab][/vc_tabs][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]

6 Responses

  • Nate Chapman // //

    I was watching the video and you showed a link to a website( for the USB controller device but video seems to show something different. What do you use for your setup (buttons, Joystick, USB controller, other if needed). I’m trying to get a working Joystick button setup. I noticed on your wiki page you have a link to a ps3 setup but I’m looking for something i have more flexibility with it configuration. Can you please help me and list everything you used.


  • superjakkie // //

    HI dont no if someone can help me? my raspberry pi display do not fit the screen i use hdmi to connect to n lg 32inc led tv.

  • camcroz99 // //

    What Pi did you use in this video? Should I get a Pi B or a B+ for this project or does it not matter?

    • davisde // //

      It shouldn’t matter.

Leave a Reply