Temperature sensor: TMP36, DHT22, and 10K Thermistor
Here’s a quick comparison of 3 different “low cost” temperature sensors:
- TMP36 at $2.
- 10K Precision Epoxy Thermistor – 3950 NTC at $4.
- DHT22 at $12.50. This one also contains a humidity sensor, so that’s why it’s more expensive than the other two.
This is how accurate they each claim to be:
|Model||Accuracy in °C||Accuracy in °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.
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.
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.