Joystick Connection
Unstable (jittery) Controls
Joystick switches & POV
Multiple Joysticks
USB joystick hacking
Potmeter wiring

Making your own joystick connections to PC game port

If you ever opened a normal PC game port joystick, you’ll see that the X and Y axis movements are coupled to two potentiometers (variable resistors, often called potmeters).

If you have a joystick with throttle, that movement will go to a third potmeter. You’ll find that the potmeters have three terminals, but normally only the middle and one of the outer terminals are connected to the wiring.

The switches of the joystick are normally small Tact switches, that are ON when you press them.

All the wiring then goes via shielded cable to the 15 pin D-shell PC game port which is normally located on the sound card. The circuit connection is pretty much standard.

The above diagram shows the wiring diagram as many audio card makers provide it. The idea was to be able to connect two joysticks, each with X and Y axis and two buttons. (The pin numbers are normally printed on the connector plastic)

In case you were wondering how to connect MIDI in and out to your General Midi keyboard, I added these connections drawings too. (At least it works with my CASIO WK1500)

For flight simulation, you can use the four available axis to control aileron, elevator, throttle and rudder. (See above diagram)

I added the directions of each control w.r.t. to potmeter value. (These are the directions that were used in early DOS games, and may be different for some newer games) For Flight Unlimited I, II and III, these directions are still valid.

If you want to build your own flight controls, you can use the above diagram to connect the potmeters.

If you first want to test whether your game port and software indeed work as described, it is handy to make a small circuit according the diagram, (shown at the left), plug it into your PC, and check the functions.(It consists of 4 adjustable 100k potmeters and 4 switches, wired to a gameport connector

After plugging in the test board, you have to select the right kind of joystick configuration and calibrate the axis to the potmeter values. If you don’t calibrate, you’ll find that your potmeters don’t control the functions over the whole range.

Note: These are Win 98 screen shots. (I’m using DirectX 8.0 on a P233MMX). In the control panel select gaming options. Either remove you old joystick, or add an new one.Select 4 button flight yoke with throttle.Make sure you check the Rudder/pedals box.


If you have wired your test board correctly, the game port status should show OK. If you used too large potmeter values (> 200k), the game card may not be able to detect your board.

Now you have to calibrate your test board. (See window above) Select properties, then the settings tab, and click calibrate. This window should appear. Just follow the instructions on the screen. Basically you’ll let the joystick software know you center settings and min/max range of the potmeters used. The software can compensate for quite some variation in resistance. It is however recommended to stay close to the 0 – 100k resistor range, which normally gives the best results for linearity, jitter, and drift.

The final result should be like the window above. Turning the potmeters from min to max should give the complete range in the square box and bars. I found that sometimes one calibration cycle is not sufficient to get good results, and has to be repeated two or three times. Re-calibration may be necessary every couple of days, or when temporarily unplugging the controls from the PC.

It is possible that you see unstable readings in the small window. For solutions see Unstable (jittery) controls.