While I was in Finland I found an old joystick on a flea market for only 3€.
During the Active Games at Vilnius Gediminas Technical University – Lithuania, I came in contact with a device called ABOX and which was developed by Antti Toura and Rasmus Pettersson under the Supervision of Juho Vesanen and Joseph Hotchkiss, all from Helsinki Metropolia – University of Applied Sciences. ABOX is a breadboard with 2 PSoCs which is creating a Joystick device. During Active Games this device was used to build up HIDs (Human Interface Device) for disabled people. Using a modified version of ABOX, I want to convert the joystick to USB.First I disassembled the joystick, in the next step I cleaned it completely. When I opened it a lot of springs and stuff came out but I found out how this thing works. A joystick is a very simple device. There is one potentiometer for each axis and some buttons. The outer contacts of the potentiometer are connected to ground and VDD (+) so the middle contact is giving a voltage between ground and VDD which is directly proportional to the position of the axis. The PSoC CY7C64215 is able to create a HID and has a USB Interface. The Problem is that this PSoC comes with no ADC (analog-digital converter). So another PSoC is used to get the value of the potentiometers. The communication of the two PSOCs is based on I²C. I modified the firmware to accept buttons and modified the USB Report. After the software part was done I began to develop an own board and soldered the components. I used the Joystick tool to test the Joystick. After that I lubed all moving components and put everything back together. Voilà. USB Retro Joystick
Conclusion
It was nice to convert this joystick but this was the hard way. I wanted to have ABOX inside of the Joystick which came with some modifications of the housing etc. I had a look at the original PCB and saw that it seems like that all the analog information is available at the original plug. So it is very easy to build an adapter plug (of course you can buy one of those or just take a cheap game controller and swap the PCB but where is the fun? 😉 )