Sunday, June 15, 2014

Modifying a Logitech Gaming Controller


I have a few projects that need to be easily interfaced with a computer to be used in games. I thought of using a Teensy cause it has USB support, but I had a sorta old Logitech controller that I wasn't using anymore. My idea was to bring out all the buttons and joysticks (potentiometers) to a header that could be accessed on the outside. Then this slimmed down controller could be put into a modular case that can be swapped between multiple gaming accessories such as a racing wheel or a guitar for Phase Shift (guitar hero for the PC). An since its a Logitech controller, it pretty much works in every game.


This is what I started with. 


I removed the shell, buttons and trigger assemblies etc from the board.

I was too excited to grab other pics so this is the first I have. I began tracing out paths on the PCB using my multimeter and by hand. Somethings were easy with pads that could be easily soldered on to but others such as the dpad and the X,Y,B,A buttons I had to solder directly onto the buttons. 

These are the types of pads that the game controller has. To solder onto them, you have to scrape off the black coating to get the bare copper. 

]
I checked that I had soldered properly by crossing the wires and checking the game controller properties. 

Added some hot glue to make sure the connection stay secure as soldering on these pads is pretty janky. You'll see here that each pad had two wires. I assumed all the pads had a common ground or 5v and teh buttons would connect that to a pin on the MCU to trigger the button. I couldn't verify this and got tired of trying, so I just extended out all pad wires.

I removed the other buttons, joysticks and pots so I could make the last connections. With all that excess hardware gone, This thing is pretty slim so it should be easily made into a modular "cartridge"

Just basic tactile switches and 10k pots.

As for making the connections easily detachable, I found that a floppy cable has the perfect amount of pins for the controller. The female (black) connector will be on the controller board and the male (white) connectors will be in whatever devices its swaps in and out of.

This is the pinout i'm thinking of

This is a quick prototype of what the case could look like. It's 140x67x15mm. The left shows the hole for the USB cable and the right shows where the floppy connector will fit in.

All soldered up. other two buttons are for mode and xinput/dinput output buttons.
Case 3D printed and board placed inside!

Found some screws to fit

Mode and input mode buttons

I tested it out like I did before in Windows and it works perfectly! Now it can be swapped into different projects.

3 comments:

  1. Hi,
    Im planing to do the same project. I was wondering, did u found the ground wire on the pcb? Coz pulling two wires from each button is pain in th boot. Thanks

    ReplyDelete
    Replies
    1. Well they either have a common ground or positive for each button. Use a multimeter on voltage, put the black lead on ground and then record the voltages on the two parts of the button. Then do the same while bridging the button and you'll be able to deduce which one it is. Or you could just trace it out

      Delete