Hack a PS2 Controller

Q: How do you sell this for $15 and still make a buck? ...

You don't need a PS2 controller with analog joysticks, but I couldn't find a plain old digital one, so I bought this for $15 at Toys 'R Us. When you consider what you get it's quite remarkable that they can build this, sell it at retail for $15, and still have reasonable margins throughout the supply chain. We'll be ignoring the joysticks, and just hacking into the UDLR pad on the left hand side.

A: Make it just good enough.

I don't think they expect anyone to open these things up once they leave the factory. The plastic quality is really awful, and the screws strip very easily. A number of plastic bits broke off during disassembly, fortunately nothing too important. There are two PC boards in the case. The one you can see here has a potted microcontroller for converting the switch/joystick positions into the serial bus protocol the PS2 uses.

Fiddle, fiddle, fiddle ...

Here we have the board out. The UDLR pad is not a traditional switch. Instead the base of each key has conductive silicon rubber. The PC Board has two contacts with a thin film resistor printed on them. When you press the key, you don't short out the contacts, you simply add a resistor to the thin film resistor already on the board. Two resistors in parallel gives a lower overall resistance. The microcontroller detects this and registers a key press. Interestingly, the harder you press the lower the resistance. With an AD converter on the switch you can tell how hard someone presses. This could be used to tell how vigorously you are playing a game, but I'm not sure if Sony does this.

We trace the PCB from the contacts we care about to some point where we can solder on our own wires. There are five wires. Each contact has a common connection, and there are four wires for the other side of each contact. This is a fiddly operation. I used small gauge wirewrap wire, which is quite fragile, but I needed something I could attach to the existing solder connections without shorting out anything. Of course every model of controller is different, and you'll just have to ohm out the PCB traces to work out how to hack a different controller.

With that out of the way we can wire it up to the foot switches for the final assembly.