Usb Joystick/Gamepad Adapter for DB9 Joystick Port



 This adapter gives you the ability to use many usb joysticks/gamepads with old home micros equipped with atari joystick ports, like amiga, atari st, atari 8bit, Commodre 64, Amstrad CPC and MSX computers (the last two, need this adapter too)!
It utilizes this USB host module:

Which can be found here  (don't forget to select preinstelled software option "Usb Joystick").
Here is the schematics for the adapter:
 As you can see, it's a very simple circuit, the serial output of the usb host board is fed to a small 16F684 PIC microcontroller, that converts the serial data to Joystick's signals! The only parts you will need, is the usb host board, a PIC 16F684 ,a DB9 female connector and a small 100nF ceramic capacitor!
 Now, before making the adapter, you need to make a quick setup of the usb host board. So, after soldering four pins to the 5V, Gnd, Tx and Rx of the usb host board, you need to connect the host board to a cheap USB to serial  cable adapter, and using a terminal program (set serial speed to 9600bps), give the commandHEX ON 
Finally, here you can find the hex program for the PIC mcu.You can use a cheap pic programmer like this or a pickit2/3, to flash the program into the microcontroller.

I have made extensive tests with many joysticks/gamepads and fortunately, only some very cheap usb gamepads didn't seem to work right. The amazing thing is that, the adapter works even with "difficult" and complicated controllers, like a wheel/pedal controller or microsoft's sidewinder!