The RetroStation project – Part 4, all done!

Here’s my finished RetroStation project.

2016-04-30 20.31.25

It’s a Raspberry Pi 3, fitted inside a stripped-out PlayStation 2 case, with some arcade controls mounted on top.

2016-04-30 20.31.19

Under the hood it’s running a combination of RetroPie, EmulationStation and MAME which allow me to play some seriously old skool arcade games that I used to play as a kid.

2016-04-30 20.35.23

The whole unit is quite portable, just two wires plug in the back, one for power, one for the TV.

2016-04-30 20.35.33

This now allows me to play some of my favourite old skool arcade games such as Out Run.


And Kung-fu Master.


And Bomb Jack.


And many, many more… Thanks to software like RetroPie, EmulationStation and the Mame arcade emulator all running perfectly on a Raspberry Pi 3, I’ve now got 50+ retro arcade games running flawlessly!

If you’re interested in how I put it all together, check out the (tl;dr) project build steps with more photos than you can shake a (joy) stick at.

Any questions, just ask in the comments box below!

The RetroStation project – Part 3, wiring the controls and programming the I-PAC2

Hopefully you’ve read Part 1 (making the case) and Part 2 (fitting the controls) of this project build!

With the case finished and the controls mounted, it was time to wire this little lot up.

Just a heads up, although I measured really carefully for the buttons, I hadn’t taken in to account the size of the lock-rings which screw on the back of each button, some of these are literally touching each other. Another mm or two and it would have all gone a very Pete Tong.

2016-04-30 16.00.07

While I could have easily bought a length of wire and a packet of crimp connectors I thought I’d save some time and buy some pre-crimped cables. Arcade World UK to the rescue again who supply this really handy kit comprising of a whole bunch of single wires plus a daisy-chained wire with about 30 connections on it.

2016-04-30 19.26.40

Thanks to the I-PAC2 interface, the wiring of the buttons is quite straight forward. The I-PAC2 connects to the Raspberry Pi with a single USB cable and the interface itself emulates a normal USB keyboard, so each arcade button essentially becomes a keyboard button, it’s very simple and very clever.


A common ground loop is used to join every single switch together, like so.

2016-04-30 19.35.07

So the single GND pin on the I-PAC interface is connected to each switch, and also to each of the four switches in the joystick.

The I-PAC came with some PCB mounting feet so (with more epoxy resin) I glued the feet in to the lid of the PS2. This makes it really easy to work on as the entire top section of the PS2 is now completely self contained (in terms of wiring) and connects to the Raspberry Pi in the lower half of the case with just one USB cable.

The next stage of the wiring was to then run a cable from each button (and again, the four on the joystick) to each corresponding pin on the IPAC. There’s no neat way to wire this up, trust me. Again, I’m sure you don’t need a photo for each pin as I wired it, so here’s the finished wiring.

2016-04-30 19.56.45

This layout means I now just have one cable joining the top of the PS2 to the bottom of the PS2.

Worth a mention too, the Raspberry Pi is glued in place here. Well, it’s in a two-part acrylic case and the case is glued to the bottom of the PS2 so the Pi can still be removed if needed.

2016-04-30 20.28.38

Most of the I-PAC interface works “out of the box” and doesn’t need programming. However, as mentioned, I wanted to assign some extra commands to the shift-ed buttons to allow me full control over RetroPie and MAME so I don’t ever need to plug a keyboard in.

The I-PAC has a programming tool available for it.


This just makes things even easier. You simply tell the I-PAC what key(s) to emulate when each button is pressed, and also what key to emulate when the shift button is pressed. Incidentally, the shift button is the 1P button, so holding down 1P + SW1 can be programmed to emulate a coin being inserted for example.

You’re also able to shift-program each of the four joystick directions giving you even more flexibility. So in my case, pressing 1P and JoyLeft replicates the F1 key being pressed.

There we have it, all done!

Check out: The RetroStation Project – Part 4, all done!

Any questions, just ask in the comments box below!

The RetroStation project – Part 2, fitting the controls

Here’s part two of the RetroStation project – fitting the arcade controls.

(if you missed Part 1 (making the case), it’s over here)

I spent a bit of time with a pen and some paper trying to work out the best location for the buttons to go in the lid of the PS2.

The lid of the PlayStation case has a great looking PS2 logo across it and I was reluctant to drill through the logo.

2016-04-16 17.10.26

However, due to the depth of the arcade buttons and the funny shape of the lower half of the PS2 if I wanted to keep the logo it would mean a controller layout like this (as you can’t fit the third button on the right hand side).

2016-04-16 17.12.02

So it would work, it just wouldn’t be ideal.

2016-04-16 17.11.55

Mainly because you’d have nowhere to rest the palm of your right hand when playing games.

So I had an idea… Build the correct/ideal controller layout and cover the entire top of the PS2 case in a suitably-themed vinyl graphic.

Yes this meant losing the PS2 logo completely, but it was more important to have a comfortable set of controls. So after a few different tryouts, I settled on this layout. You’ll notice a large plain area in the lower right hand corner where you can rest your palm too.

2016-04-16 17.12.12

Before I drilled any holes I waited until the controls had arrived.  I had measured the button width and depth to make sure it’d all fit, but you never know…  Best to play safe.

I bought buttons and joystick from Arcade World UK who just have more stuff for project build than you can shake a (joy) stick at. I chose a few different colours for the buttons as I wasn’t sure how each colour would look in the flesh and the kit I bought came with loads of spares too (as I only needed six buttons).

2016-04-29 19.58.02

The reason I only needed six buttons is due to the amazing i-PAC2 interface which allows me to map two functions to each button using a shift-key. I’m able to use all of the generic MAME and RetroPie functions using a combination of normal buttons and shift-keyed buttons.

I laid the buttons out on the paper to make sure it all still made sense.

2016-04-29 20.12.42

I’m glad I didn’t drill any holes prior to the controls arriving because I’d not taken in to account the “Player 1 Start” button which for some reason was much deeper in length than the other buttons and my original intention of placing it in the top left meant it would have clashed with the HDMI and power sockets I’d fitted.

So I had to move the 1P start button to the top right of the joystick instead.

2016-04-29 20.12.33

Once I was happy that everything was going to fit, I covered the entire top of the case in masking tape.

This was so I could precisely measure out where I was going to drill, plus I could easily draw on the masking tape. There was also the added benefit of the tape helping prevent the drill bit from slipping.

2016-04-29 20.17.30

Exact measurements made, one last sanity-check with the buttons.

2016-04-29 20.30.38

And that’s it, final markings made, time to get the drill out!

2016-04-29 20.30.51

I’m sure you don’t need a photo for each hole I drilled so here we are, all the holes drilled!

Each button needs a 28mm hole and the joystick also (handily) requires a 28mm hole. If you’re making something similar, drill slowly and carefully, you don’t want the plastic to overheat and melt the hole instead,

2016-04-30 13.59.49

With the holes drilled I then used a little drill-attached drum sander to clean up the holes. You’ll also see my poor PS2 logo, gone!

2016-04-30 14.08.48

The joystick uses a mounting plate behind it, which requires four bolts to be held in place. Again with the use of some more masking tape I positioned the plate and marked through the holes with a pencil.

2016-04-30 14.20.54

The holes are elongated so you can align the plate if needed. Personally, I’m more of a fan of just drilling straight holes!

2016-04-30 14.21.02

I planned to use mini coach bolts to hole the joystick in place, screws would spoil the finish.

2016-04-30 14.29.55 HDR

A  quick test to make sure everything fits exactly how it should.

2016-04-30 15.22.41

Which it does!

It was then time to remove all the controls again and get ready to apply the vinyl graphics.

The guys at RockStar Arcade specialise in printing retro arcade graphics and it was here that I got my Street Fighter graphic from. I ordered a couple of different ones, they’ve just got soon many to choose from, it wasn’t an easy choice!  I also ordered the graphic over-sized on purpose so I could position it how I thought it may work best when applied.

No photos of the oversized one, but fitting the graphic was quite easy. I wiped down the entire top surface with alcohol wipes to ensure it was completely clean, then I applied the graphic in one go, pressing out the air all along the way.

Here’s the end result.

2016-04-30 15.38.43

It was a shame to have to cut holes out in it! I think it looks great!

I used a scalpel-type craft knife to cut out the holes. Slowly and carefully, you do NOT want to slip.
2016-04-30 15.48.13

And here’s how it looks with the buttons fitted!

2016-04-30 15.59.47


2016-04-30 15.59.54

That’s it for Part 2, in Part 3 I’ll cover the wiring of the controls.

Check out: The RetroStation project – Part 3, wiring the controls and programming the I-PAC2

Any questions, just ask in the comments box below!