Archive for January, 2014

Temperature sensor: TMP36, DHT22, and 10K Thermistor

January 30th, 2014 No comments

Here’s a quick comparison of 3 different “low cost” temperature sensors:

This is how accurate they each claim to be:

Model Accuracy in °C Accuracy in °F
TMP36 ±2.00°C ±3.6°F
Thermistor ±0.45°C ±0.8°F
DHT22 ±0.50°C ±0.9°F

All the data below was collected with a BeagleBone Black which has a 12-bit ADC. The 10K thermistor was hooked up in a voltage divider configuration with a 1% 10K resistor. The DHT22 uses a thermistor inside as well, but has a digital output. Readings were taken every 3s over a 2 hour period.

The sensors are all positioned within 1/4″ of each other. The slow temperature drifts are from the house cooling and the furnace heating it back up.



I used a running average filter with a window of 10 samples to clean up the noise a bit and these are the results.

Temperature - 30s running average

Temperature – 30s running average

Finally, taking the 10K thermistor as ground truth, these are the differences observed. The TMP36 is consistently about 2°F lower than the thermistor, and the DHT22 is roughly 1°F higher even though it’s also using a thermistor inside. I don’t know how accurate the ADC inside the DHT22 is, so that might explain some of the difference.

Deltas between different temperature sensors.

Deltas between different temperature sensors.

In conclusion, when you hear someone say “I keep my thermostat at 67°F” and another guy responds “My wife would kill me if I did that. I keep mine at 73°F” they might both be keeping their temperature at 70°F. It just depends on what temperature sensor their thermostat is using, and how well it was calibrated.

Categories: Uncategorized Tags: