Monthly Archives: April 2016

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!


The RetroStation project – Part 1, making the case

I’ve wanted to build a portable MAME machine to play some of the old arcade games that I cut my teeth on back in the ’80s and I’m sure these will need no introduction.

1984 Bomb Jack

1984 Kung-Fu Master

1986 Out Run

1982 Joust

I’ve seen some great projects where people have put a Raspberry Pi in to all sorts of unusual cases and they’ve each provided me with some of the inspiration for my RetroStation project.

So what I needed was a suitable case in to which I could mount not only the shiny new Raspberry Pi 3, but also the arcade controls, all in the one (portable) unit.

These were the kind of arcade controls I wanted:


So I needed a suitable case which could house this little lot, but still be portable.

Keeping with the retro gaming theme, the full size PlayStation 2 looked like it would provide the perfect ‘box’.

Off I went to eBay where I bought a broken PS2 for the princely sum of £5.20, delivered!

2016-04-16 17.10.26

2016-04-16 17.10.41

2016-04-16 17.10.50

There are loads of broken PS2s on eBay so I was careful to look for one with a case in good condition and no scratches or marks on the outside.

The next step then was to strip out everything I didn’t need on the inside. This was the easy bit as I didn’t need anything inside it!  I’ve seen some great Raspberry Pi mods in PS1 cases and some of them even use the original PS power supply but I didn’t need that (nor did I want 240v running round inside this project) so I could afford to let even the power supply go.

2016-04-16 19.52.23

None of this was needed:

2016-04-16 19.58.04

I did need to keep a few bits though. Mainly the rear fan and switch assembly, the front USB ports, the CD tray cover and the controller ports.

I didn’t intend to use any of these but more importantly, I didn’t want any big gaps in the case itself.

2016-04-16 19.57.59

Some of these parts were originally attached to some of the chassis (above) which I’d discarded so they needed to be glued in place. I used epoxy resin to stick these bits back where I needed them.

2016-04-16 20.27.21

The CD tray cover was slightly tricky to stick in place as the ‘lines’ on the front needed to align with the lines on the rest of the case so I used some masking tape to hold it in the exact place that I needed it, then applied epoxy to the rear to keep it in place.

2016-04-16 20.27.39

Once all the resin was dry, I was then left with a solid PS2 case which looked exactly as it should.

2016-04-16 20.53.48

Even the CD tray cover lined up.

2016-04-16 20.54.09

And the only give-away really was the missing audio-out and video-out sockets on the rear.

2016-04-16 20.54.31

This was not going to be an issue though as I intended to use these two holes for power-in and HDMI-out.

I found a good quality ‘HDMI panel mount’ on eBay (gotta love eBay for these kind of projects) which was about 6″ long.

2016-04-23 16.17.01

This was ideal as it allowed me to have some wiggle room for mounting the Raspberry Pi inside and was promptly put in place. Notice in this photo below that I Dremel’d out the centre post that was in the middle of the case as it was going to get in the way.

2016-04-23 16.19.25

So from the outside here’s how the HDMI socket looked when semi-mounted. Job done.

2016-04-23 16.17.11

The next job was to mount a new power-in socket. I looked all over the world for a panel mount Micro-USB socket but couldn’t find one anywhere. So instead I opted for a Micro-USB splitter cable. This will be ideal going forwards as it has a male-to-female Micro USB plus a standard USB socket too. I intend to put some blue LEDs in the case (so it glows out of the vents) so I’ll be able to power the blue LEDs from the now-spare USB socket on this splitter cable.

2016-04-23 17.39.23

2016-04-23 16.44.57

As this isn’t a panel mount, copious amounts of epoxy resin were used to hold the power socket in place.

2016-04-23 16.45.13

In the photo below you can also see some of the resin I used on the outside of the sockets too. Naturally this needs to be applied REALLY carefully. It’ll dry clear so I’m not worried about it being white in the photos.

2016-04-23 17.40.04

This leaves us just nice sockets for cables on the rear, one for power (USB) and one for the video signal to the TV (HDMI).

2016-04-26 20.53.49

The case is now nearly ready for mounting the buttons etc in, but before that, just one more mod was needed.

Blue LEDs.

You can’t build something without blue LEDs, right?

I bought a strip of 5v blue LEDs from, you guessed it, eBay for a few quid. This LED strip was 1m long, comes complete with a standard USB plug on the end, can be cut to any length you like and even has sticky backing tape on it.

Side note, it’s impossible to take a decent photo of a lit LED!

2016-04-26 20.37.32

Blue 🙂

All that was then required was to peel of the sticky backing tape and stick the LED strip all the way around the inside of the PlayStation case.

2016-04-26 20.44.19

2016-04-26 20.44.10

Then with some power applied, here’s how it looked.

2016-04-26 20.50.01

It’s really bright.Thankfully, I don’t want to be able to see the bulbs at all. All I need is for a blue glow to come out of all the vents on the case.Again, the camera on my phone doesn’t do this justice, it even makes it look purple for some reason, but you’ll get the idea.

2016-04-26 20.48.48

And a close up of the rear, at this angle you can see bulb itself, I might add some speaker grille cloth across the fan opening if this becomes an issue.

2016-04-26 20.48.41

You get the idea! So that’s it, the case itself is pretty much finished. Next steps of the project are to fit the arcade controls on the top and then mount the I-PAC2 controller and Raspberry Pi inside the case.

Check out: The RetroStation project – Part 2, fitting the controls

Any questions, just ask in the comments box below!