Main Content

Testing Temperature Sensors - Which One for Me?

One of the first sensors that newcomers to physical computing want to try out is something to measure temperature. Four of the most popular sensors are the TMP36, which has analogue output and needs an analogue to digital converter, the DS18B20, which uses one-wire connectivity, the DHT22, or the slightly cheaper DHT11, which just needs a digital pin, but also provides an humidity reading, and lastly the BME680 which uses I2C (with SPI as well on some breakout boards) and gives temperature, humidity, gas (VOC) and atmospheric pressure but costs a bit more.

I want to see how accurate they are, and discover any advantages or disadvantages. I already own an accurate mercury thermometer, left over from the colour photographic printing back in the days of chemical processing, to compare them against. (Never throw anything out - you will need it later!)

I’m going to use CircuitPython and an Adafruit Itsybitsy M4 development board for these tests. Suitable drivers are available for all the devices.

Supplies:
My initial list:

Itsybitsy M4 Express microcontroller
micro USB cable - for programming
TMP36
DS18B20
4.7K Ohm resistor
DHT22
BME680
Multi-meter
Breadboard or strip board
Connecting wire”

Link to article