To connect an old joystick, like the Competition Pro, to a modern PC, you need an adapter. The old joysticks from home computers have an interface that today's computers don't have anymore. On the Internet you can find numerous building suggestions. Today I would like to present a very interesting adapter.

Until recently, you could download the schematics and firmware for a 2x joystick adapter from Andreas Paul's website. This adapter was sold many years ago in Germany by Sinchai as a kit. But this website doesn't exist anymore. Therefore my intention was to build this adapter myself. Since I wanted to have this as small as possible, I have chosen a version in SMD technology.


Alter Schaltplan von Hexagon


Unfortunately the schematic was only available as an Eagle file, so I had to "copy" the plan again in KiCad. 

The assembly list for the above version with normal components looks like this: Parts list with order numbers

  • 1x USB BW USB socket type B, angled
  • 2x D-SUB ST09EU Sub-D female connector 9pole, male, angled
  • 1x WSL 10G Tub connector 10pole, straight
  • 1x ATTINY2313DIP ATMEL AVR ATtiny 2313-20PI
  • 1x GS20P Precision socket 20pole
  • 1x 12.0000-HC49U-S crystal 12 MHz
  • 1x PFRA 010 resetting fuse
  • 2x ZF 3.6 Z-Diode 3.6V 0.5W
  • 2x METALL 68.0 resistor 68 Ohm 1/4 Watt
  • 1x METALL 1,50K resistor 1,5 kOhm 1/4 Watt
  • 1x METALL 10,0K resistor 10 kOhm 1/4 Watt
  • 1x RAD 10/35 electrolytic capacitor 10 µF
  • 2x KERKO 22p capacitor 22 pF
  • 2x X7R-2.5 100n capacitor 100 nF
  • Reichelt prices as of 18.02.2007: 3,88 EUR

Here is the layout of the original version:

Ursprüngliches Platinenlayout

And a recording of the finished version:

Fertig bestückte Platine


Unfortunately there is no suitable or ready cut case for it. So I did some research on the internet, and then I became aware of the old DB9 jumper boxes. Maybe one or the other remembers it from old times. These were the boxes you need to adapt serial interfaces.

These cabinets are still available today for very little money:

Gehäuse mit eingebauten Joystickadapter

On the picture you can see the finished joystick adapter. In the same housing you can find the complete electronics from the schematic shown above.

Now I only had to transfer the circuit diagram to KiCad, which was done quickly.

 Neuer Schaltplan


The component list is slightly different due to the SMD design.

  • 2x 100nF capacitor / 0805
  • 1x 10µF tantalum capacitor / Kemet B
  • 2x 22pF capacitor / 0805
  • 2x Zener diode BZT52C3V6 / SOD 123
  • 1x Littlefuse1206L150THWR / 1206
  • 2x DB9 socket, male with solder cup
  • 1x 10k resistor 1/8W, 1% / 0805
  • 1x 1,5k resistor 1/8W, 1% / 0805 
  • 2x 68 Resistor 1/8W, 1% / 0805 
  • 1x ATTiny 4313-SU / SOIC-20W
  • 1x 12MHZ Quartz / 5032, 2pin
  • Male connector 2 rows
  • USB connection cable
  • case

The board then looked very good in KiCad in the 3D model: 

3D Modell der Platine

The construction is actually quite simple, since only few components are needed. The components are assembled from small to large. First the resistors, then the capacitors, followed by the quartz. Then the programmable microcontroller.

Finally the pin header, which is needed to program the microcontroller and the two DB9 sockets. I recommend to put the construction together first by hand and to open it into one half of the case. Then solder the first side of the solder cups from the DB9 sockets to the PCB. And then the backside can be soldered.

Then a small hole has to be drilled into the lower part of the adapter so that the USB cable can be plugged through there. It is best to take a ready-made cable with an open end. Such cables are available at Reichelt.

After passing the cable through the previously drilled hole, the wires can be soldered to the board. To protect the cable from being pulled out, a small cable tie should be pulled around the cable.

When soldered, the adapter looks like this: 

Fertig aufgebauter Joystickadapter


This adapter should be easy to assemble even for a beginner in SMD. There is actually nothing else to consider.

Now only the microcontroller has to be flashed with the appropriate firmware. This can be done easiest with the tool avrdude. Of course the call differs a little depending on the used programming adapter. With the very popular and widespread USBASP adapter the whole thing would look like this:

avrdude -c usbasp -p t4313 -U flash:w:main4313.hex -U lfuse:w:0xcf:m -U hfuse:w:0xdb:m -U efuse:w:0xff:m

Then plug the housing together and the joystick adapter is ready.

The files for this project can be found in the download area. Questions or suggestions can be left in the comment area. 

Have fun with the replica. 


I still have some circuit boards left. This can be requested for a small contribution towards expenses: PCBs


Translated with

Log in to comment

Discuss this article

INFO: You are posting the message as a 'Guest'

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok Decline