I always wanted to own a personal arcade gaming style game controller, so when I noticed that my ex-employer was throwing away some old broken keyboards, I decided to take them home. These keyboards were the perfect ingredients for this project.
The other materials that I used to complete this project included: leftover plywood pieces, a leftover tile piece, small screws from broken toys and electronics, 2 broken flat 3 pin plugs, white and black plastic containers, tyre inner tube, 2 bicycle wheel spokes, Christmas balls or ball shape plastic container lids (like the green shampoo bottle in the above picture) and a small piece of iron sheet.
Step 1: Making the Joysticks - Step 1
For the joysticks, I used 4 rectangular pieces of iron sheet which I cut, drilled and folded as in the pictures above and attached a bolt (two 4" long bolts and two 1.5" long bolts) to each of them.
Step 2: Making the Joysticks - Step 2
Taking the piece of metal found in the 3 pin plug, I removed the screw and drilled a hole opposite to the screw hole, so that the small metal cube has a hole on four of its sides. Then, I sanded the sides a little bit as in the above picture.
Step 3: Making the Joysticks - Step 3 - Take a Break and Eat a Lollipop!!
Next, using a lollipop stick (I guess the inner ink tube of a ball pen also can do the trick), I joined the metal cube to 2 of the folded iron sheet pieces. I inserted pieces of soft fabric between the metal cube and the iron sheet to limit frictions. I used the small metal wire found under the space bar of the keyboard and inserted it in the lollipop stick to secure everything together. Now, as you might see in the last picture, the long bold pivots smoothly over the small bolt. :)
Step 4: Making the Joysticks - Step 4
Now that the joystick rods were ready, I cut 2 circles (1 wooden circle for each joystick) from a piece of 1/2" plywood. I was planning to use the number pad part of the keyboard for the joystick, so the diameter of the circle is the distance between number 4 to number 6.
After cutting the circle, I drilled four holes at 90 degrees apart from the center of the circle and fastened some bolts and nuts in it as shown in the picture.
Step 5: Making the Joysticks - Step 5
Using a bicycle spoke, I made a spring that would fit exactly as in the above picture. I, then, cut the number pad part of the keyboard and fitted the joystick to the space where number 5 was located.
I cut a piece of 3/4" plywood @ 54 cm x 12 cm and drilled 2 holes to attach the 2 joysticks to it.
Note: If you do not wish to cut your keyboard, you can also fix the above mechanism directly to your existing keyboard. You will just need to sacrifice the number 5 button of your keyboard's number pad. ;)
Step 6: Making the Joysticks - Step 6
I cut 2 pieces of aluminium tube @ 4.5 cm long and using a hammer, I inserted a nut in each tube. If you do not have aluminium tube, an old pen could very well do the trick.
Then, for the nob, I used 2 Christmas balls. I filled them with hot glue and then inserted a long nut in it.
Step 7: Customising the Keyboard Plastic Contact Layers
Before cutting the transparent plastic contact layers of the keyboard, I used a multi-meter to determine which connection is which. You will note that the main connection lines run in horizontal and vertical lines. I noted down the horizontal lines as A,B,C,.. and the vertical connection lines as 1,2,3,... and then determined which keys are triggered when connecting a horizontal line to a vertical line. For example, connecting horizontal line A to vertical line 1 triggers the letter 'Q'.
When this was done, I started cutting the material according to the size of the buttons that I would use. After placing the plastic in position on the 3/4" plywood piece that I had cut for the joystick, I used some small screws to connect wires to it. This part was easier than I had thought and the tiny screws made a very good contact for the plastic and the wires.
Step 8: Installing the Other Keys
For installing the other buttons, I did the same thing. I cut the keyboard's plastic contact layers accordingly and fixed it on a piece of plywood. Then, I attached some wires to it using some small screws and finally, fixed the keyboard buttons over it with some screws.
Step 9: Connecting the Buttons to the Keyboard's PCB
It was now time to connect the keyboard's PCB to the DIY game controller wires.
Firstly, I sanded the PCB connection part lightly and then soldered wires to all the connectors. (Please note that for this project I have used the brown PCB from the third picture. I have used the green Keyboard PCB for illustration purposes as I had not taken any picture while doing that part.)
After soldering all the wires, I applied hot glue to the soldered part to secure them firmly.
Then, I connected the Keyboard USB to my laptop and used a free emulator like snes9x to test the buttons.
This part was a bit tricky. On a keyboard you cannot press various keys simultaneously. Sometimes when pressing 1 key may prevent another key from working.
After several trials and errors, I have found that the combination of keys as used in picture 5 and 6 were 1 solution to this problem.
Step 10: Fixing Everything Together
After ensuring that everything was working fine, it was now time to fix everything in place and make a decent looking enclosure box. I used some leftover 1/2" & 3/4" plywood pieces to make the walls of the box. For the game controller top, I used a piece of 1/2" plywood and drilled appropriate holes for the places where the buttons would pop out.
Step 11: Improving the Toughness and Accuracy of the Game Controller
For now, everything was working but the joystick's movements were very loose and sensitive and secondly, it was not very accurate, for eg, if I push it to the right it will sometime moves up-right or down right.
So, to fix the looseness issue, I used a piece of inner tyre tube, which I fixed below the controller box plywood. This acted a very good spring and would always bring the joystick back to the center.
Secondly, to improve accuracy, I took a piece of plastic from an empty car shampoo bottle and fixed it on the area where the joystick would move as shown in the pictures above. The plastic acted as a guide for the joystick movements as well as prevented the joystick from breaking if someone would apply extensive force over it.
Step 12: Adding the Controller's Top
I used a piece of leftover tile to cover the wooden top of the controller. Using an angle grinder with a tile cutter disk, I cut out holes as in the picture above and glued the tile to the top of the controller.
I must say the tile piece completely changed the look of the controller. ;)
Step 13: Securing the Tyre Inner Tube
To prevent the pieces of tyre inner tube from tearing with time, I secured it using the small copper metal which I found from an old lifeless flexible water hose. This fitted nicely in place. I used a nut to secure everything on the joystick rode together.
Step 14: Improving the Look
Now that everything was working flawlessly, it was now time to improve on the game controller's appearance. I used an empty white plastic container to add some borders around the buttons and the joystick.
In addition to that, in order to prevent the controller from sliding, I cut some circular pieces of inner tyre tube which I glued below the controller.
The only thing that I BOUGHT for this project was a piece of veneer contact paper which I glued all over the plywood box.
Hope you like this instructable and find it easy to understand.
If you have any questions or suggestions, please feel free to comment.