Want to build your own Raspberry Pi Arcade Machine? Well you can, it’s actually quite straight forward!
This was my first Raspberry Pi project so don’t let that be a reason for you not to take the leap into this challenge.
Firstly lets break the project down into some manageable chunks:
Get the games working!
- Install RetroPie onto your Raspberry Pi
- Load some games (ROMS) onto your Pi
- Play those games using a Xbox 360 USB controller
Build the prototype!
- Install the buttons into a piece of wood
- Complete the wiring
- update the RetroPie config files
Build your arcade machine!
- Good, old fashioned woodworking!
Below I’ve written some basic steps on how to get your arcade machine working, I’ve also got three video’s that I shot during my time building:
Get the games working!
You’ll need as Raspberry Pi, MicroSD card, Xbox 360 USB controller, plus all the usual leads…
This took a little while for me to do first time around, everything about the raspberry pi was new to me so I viewed loads of videos and read many blogs to get over these first hurdles.
The first thing you have to do is install RetroPie (https://retropie.org.uk/download/), you’ll get an SD card image and you can use a free piece of software called 7-Zip.
To install the RetroPie SD image onto your MicroSD card (presuming your PC has a card reader) you’ll need to use another free piece of software called Win32DiskImager
Once you’ve done all that insert your MicroSD card into the Raspberry Pi, plug the pie into your modem using an ethernet cable (This is the way I do it anyway) and switch on the power.
On your PC install WinSCP, you’ll can use it to connect to your Pi as you’ll be on the same network.
The Pi’s IP address is 192.168.1.248 (user name: Pi & password: Raspberry). Your IP address may be different, to find the IP address of your RetroPie, go into RetroPie options from the main menu, and select the last option
Show IP address.
WinSCP allows you to easily navigate the folder structure, add or remove files and even edit config files. Double Click on the RetroPie folder on the right then double click on Roms. All the available emulation system folders are listed (they will appear in your arcade if they have a file in the folder!). You can now browse locally on the left for your game files (which in turn can be found for free online, just Google “Retro Roms”), then drag and drop them into the corresponding system folders on the right.
Restart your raspberry Pi and plug in your xbox 360 controller (any usb controller should work, even a keyboard) but I can vouch for the 360 controller working without any additional fuss!
You should now be able to play the games you’ve installed, in my experience some games work perfectly, some kinda work but not really and some just don’t work at all. I stuck with three basic consoles; Atari 2600, Megadrive and NES. I think these give me a good selection of games, you can go a little further into games, their extensions and configurations although I’m not going to here….. its just not the big of a deal unless there’s a specific game you just have to play.
Build the prototype!
- Some scrap wood
- Joy Stick
- Buttons (6 fire buttons, 1 Start Button & 1 Select Button per player)
- Ipac2 Controller
- Hookup Wires
- Crimp connectors
Layout your joystick and buttons on your scrap wood, drill 25mm holes and attach the hardware.
Make a daisy chain of wire and crimp connectors and plug them into the ground (COM) of each micro switch in turn, fasten the end of the Daisy Chain into your iPac2 Controller.
Next attach a connector to the end of each wire and connect it to the Normally Open (NO) output of the first micro switch and fasten the end into a single input of your Ipac2 controller. Repeat this for every micro switch
Plug your iPac2 USB into your PC and open up notepad. With each button press or joystick movement you should see a key being pressed (After all the Ipac2 is only a keyboard). Problem is though the Ipac2 by default maps a lot of funny buttons to the inputs (Alt, Ctrl, Esc, etc.). In order to change this default mapping leave your Ipac2 plugging into your PC and download WinIpac. This program allows you to change each inputs button, stick to alphanumeric keys!!!!
Each micro switch should bring back the right result on notepad. If not then check your wiring!
Now that your buttons are working you can update the config file on the Raspberry Pi. Using WinSCP navigate to /opt/retropie/configs/all/retroarch.cfg
Within this config file locate: # rather than relying on a default.
After this line of code you’ll see player one keyboard presets:
input_player1_a = num7
input_player1_b = num0
input_player1_y = num8
input_player1_x = minus
input_player1_start = ;
input_player1_select = num4
input_player1_l = p
input_player1_r = num4
input_player1_left = down
input_player1_right = up
input_player1_up = right
input_player1_down = left
input_player1_l2 = num2
input_player1_r2 = num3
input_player1_l3 = keypad4
input_player1_r3 = keypad6
Change this code to the keyboard buttons you’ve just assigned to your Ipac2 (notice the difference above in regards to num4 and keypad4!), you can also copy and paste this input_ lines for player two. This is what mine looks like:
input_player1_a = num5
input_player1_b = num6
input_player1_y = num7
input_player1_x = num8
input_player1_l = num9
input_player1_r = num0
input_player1_start = Z
input_player1_select = X
input_player1_left = num2
input_player1_right = num1
input_player1_up = num3
input_player1_down = num4
input_player2_a = T
input_player2_b = Y
input_player2_y = U
input_player2_x = I
input_player2_l = O
input_player2_r = P
input_player2_start = N
input_player2_select = M
input_player2_left = W
input_player2_right = Q
input_player2_up = E
input_player2_down = R
Once you’ve saved this config file you can load up retropie and play the games using your arcade prototype!
Build your final arcade machine!
This is really down to your own personal preference and what space you have available. You could go for a large cabinet or a smaller table top version. I went for the larger arcade! 🙂
The only measurements I knew was the width (60cm), the height (167cm) and the height of the buttons (90cm). Everything else was pretty much free hand. I also got the wood supplier to cut plywood boards into 60cm widths, that way I knew all the panels would be exactly the same width and I often ran one board behind the other so exact lengths were not too much of a problem (most of the time)
Firstly I cut the 60cm plywood boards down into three sections, one for my buttons, one for my monitor and one for my speakers. I added the required holes for all of the components to fit. I found online a great template for making your buttons and joysticks beautifully spaced.
Next I took two large pieces of plywood and clamped them together (aligning two edges). I traced on the lines I need to cut using the measurements and the three sections I’d just prepared as guides.
Cutting the two sides together ensured both were symmetrical, I cut these using both a circular saw and a plunge router.
After tidying up the edges with sand paper and edge banding I added strips of wood which the panels would rest against.
I then brought the two sides together cutting and attaching each central board as required.
I continued this process by adding the hardware panels and connecting the different elements together!
I hope you found this useful and I’d love to hear your comments!