Published on


  • avatar
    Justin James Clayden


Blue glowing LED on the jacket

The ‘Thermomo-jacket’ is a simple wearable thermometer that represents the temperature inside the jacket as different hues of colour. At around 10 degrees Celcius the LED lights blue. It’s nice and warm in my house, so I took a quick walk in the winter air before taking this photo. Brrrr!

Cyan glowing LED on the jacket

Things are heating up- this is around 18 degrees. Temperature is mapped to hue. The saturation and brightness of the colour was kept at 100%.

Orange glowing LED on the jacket

In the mid 20’s the LED glows yellow then orange. This is a really warm jacket, so a fast temperature rise is inevitable.

Red glowing LED on the jacket

In the high 20’s the LED glows red, or even a little violet. Hot stuff… coming through!

Violet glowing LED on the jacket

The LED is very bright, and the three colours are produced by three separate LED’s, and so I’ll need to add some sort of diffusing material to cover it. Otherwise, a colour split occurs. In the picture above, the colour should be orange, but we see separate green and red colours. For the series of pictures above that, I used a small piece of masking tape. Obviously this won’t do for high fashion!

LED on the jacket

Here’s the LED itself- its pins have pushed through the jacket, and are wired up on the other side. It’s an RGB LED- which means that one can control the individual red, green, and blue lights.

The LED and the thermistor (a resistor that changes its resistance with temperature) are connected to the microcontroller board:

Circuit board

A: In the foreground is a power regulator, which provides nice, stable power to the microcontroller. B: This is the microcontroller. C: The brown pillowy thing in the background is the ceramic oscillator- it’s the component that provides a 16MHz timing signal to the microcontroller.

Here is how the thermistor was wired up:

Thermistor legs ready for soldering

The Arduino board has several analog inputs, that require a varying voltage. This voltage needs to change as a function of the resistance of the thermistor. The best way I know to achieve this is with a voltage divider:

Circuit diagram of voltage divider

As the resistance of the thermistor changes, so does the voltage ‘XV’. This value is read by the Arduino board, and then in software I map this to colour. The thermistor is hidden near the LED, next to the wool of the jacket, and so it tends to get very warm very quickly.

Here’s another detail of the wiring to the thermistor:

Thermistor soldered to resistor

The blue wire gives the variable voltage level. Notice how everything is heat-shrunk. This ensures no short circuits can occur as the thermistor moves around inside the jacket.

For the future: I plan to add a second thermistor, on the outside of the jacket. Then I can measure the difference between the inside and outside temperatures, and represent that via the LED.

Copyright 1995-2023 Justin James Clayden