JoyTemp - Measure temperatures using the game port

(Project from 2002) Using the joystick port is the most simple solution to add custom temperature sensors to your system. Each port has 4 analog inputs (one per joystick axis) which we can use. Reading, calculating, calibration and data hand-over into WebTemp is done by the (windows) freeware available on this site.


Joystick connector pinout

Pin   Configuration                  JoyTemp

1     +5 V
2     Joystick 1: Button 1
3     Joystick 1: x axis             Sensor 1
4     GND
5     GND
6     Joystick 1: y axis             Sensor 2
7     Joystick 1: Button 2
8     +5 V
9     +5 V
10    Joystick 2: Button 1
11    Joystick 2: x axis             Sensor 3
12    GND (MIDI)
13    Joystick 2: y axis             Sensor 4
14    Joystick 2: Button 2
15    +5 V (MIDI)
Connect the sensors between the axis input pins and +5 V. Measurements inside the room temperature zone turned out to be most accurate using 100 kOhm NTCs. For higher temperatures I recommend using a 200 kOhm NTC. You can use up to 4 sensors total, but note that you have to connect them in pair (x and y axis) or Windows won't detect them at all. So it is either 2 or 4 sensors.


After connecting the hardware, you have to install the "joystick" using Windows's control panel. In "Gaming options" click "Add" and choose "Two 2-axis, 2-button joysticks on one gameport". This will create two entries which should display their status as "OK". If so, you did everything right and may proceed with calibration. Important: Never use Windows' own joystick calibration on your NTC joystick!

Instead, download the freeware off this site (see below) and start it.


The software can perform a three-point calibration to achieve best accuracy (but please don't expect any surprises). It is a bit complex and involves warming the sensors to stable and defined temperatures. Because of this you also need an actual thermometer (the more accurate the better). The most easy way is to tie the sensors up together, make them waterproof using some plastic bag and tape and submerge them. You have to perform three measurements at for example 20, 35 and 50 degrees (Celsius). The software just calls the temperatures "low", "medium" and "high" since you can choose them freely. They just have to be minimium 10 degrees apart. In "Calibration" choose the sensors you would like to calibrate (most probably the ones you tied up). A simple trick is to use the room temperature as the lowest value. After the values have settled (stopped moving into one direction), read the actual temperature measured by your accurate thermometer, enter the value near the "low", "medium" or "high" button and then click the button. Repeat for every button and after that, click "Finish calibration".

Integration into WebTemp

On the right side of the main window you can choose the slot in which WebTemp is to display your new temperature sensors. The values will be automatically carried over to WebTemp if it is running.


Version 0.7.1 • May, 28th 2007 • Download JoyTemp.zip • 275.14 KB

United States 00:30:33 up 145 days, 21:31, 0 users, load average: 6.62, 4.45, 3.95 Contact • Legal info • Privacy policy