A Quick Post on Thermographic Imaging

We’re always having random thoughts at Circuithinking about products that can be the spark of an idea for doing things differently in the future and as of late we’ve all had a bit more spare time than usual to pursue other endeavours. We wanted to update you on some of the ideas we tinker with just for the hell of it.

One of the main thoughts we always come across is new and novel ways of doing sensing. We always take the usual form factors of sensing for granted: cameras, accelerometers, gyroscopes, magnetometers, thermocouples, the list goes on… They almost always typically end up being used in the exact same way every time. Not that this is without good reason because these implementations cover the vast majority of needs in the industry, but what about thinking outside the box? This is exactly what we wanted to do with Thermistors.

Thermistors are resistors whose resistance is dependent on temperature. In almost all cases, they’re used as single point measurement sensors to cheaply measure the temperature of a point. The emphasis is on single point. There aren’t many times in their implementation that you need more than a couple to do the job they usually fulfil. As an experiment, we wanted to change that. We decided to have a go at creating a Thermographic Panel.

To do this, we need an array of thermistors where each thermistor acts as a pixel in an image instead of just a single point measurement. This will enable us to reconstruct a full image of temperature by individually measuring the temperature of each thermistor as quickly as possible. Because we just wanted to toy around at first, we’ve settled for an 16×16 array for a 256 pixel image. We’re hardly pushing the boat out, but this should be enough to give us an indication of ability.

First quick step was to design a PCB. This isn’t something we can really prototype by hand so we need something custom made. The images below shows the final layouts.

Thermal Panel Top

Top of the Thermal Panel

Thermal Panel Bottom

Bottom of the Thermal Panel

The board is basically the array of thermistors and some analogue multiplexers to be able to address each thermistor individually. A group of eight thermistors is addresses by one multiplexer, making four columns of eight multiplexers. There are then 4 subsequent multiplexers to select which of the first multiplexers actually reaches the output pins. This might sound convoluted, but the signal path for a thermistor output is thermistor -> multiplexer -> multiplexer -> output pin.

In order to drive the panel in true experiment fashion, we using an Arduino Due. It’s got enough pins, enough ADC channels and it’s what was lying around! We’ve written code so that it multiplexes through every thermistor and reads them into memory. It then packages this up and sends it out over a USB connection to a host PC. The host PC is running a python script that formats and normalises the data before displaying