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!