Setup
I used a sequence of temperature and humidty measurements (totally representative, since it happend on my balcony) with all sensors in the same area to caputure the same conditions. The setup contains the following sensors:- DHT22: An Asair DHT22 sensor.
- DHT11: An Asair DHT11 sensor.
- DHT21: An Asair DHT21 sensor (theoretically a wired version of the DHT22,... see above)
- Portable: Another Asair DHT21 sensor, this one is wired via an Arduino for flexible use away from the Raspi
- BME280: A Bosch BME280
Readings
All sensors were recored once every Minute (with a max of 3 retries for the DHT sensor that are somewhat hard to read sometimes) over the course of 2 Weeks. Note that the Arduino had crashed for a few hours (on 15th, no red line there), so there is no readings for the "Portable" sensor there.Analysis
Since I have no true gauge, I use the median reading for each minute as my "Ground Truth" and evaluate the sensors deviation against this median. We observe that the sensors are delivering very different histograms: Most notably the temperature histogram of the DHT11 is shifted to lower temperature values (which corresponds to the observation of a systematically low reading by 2°C). The width of the same histogram is also wider than the other sensors, pointing to higher fluctuations and hence lower precision of those values. A more thorough evaluation delivers the following comparison of the systematic errors and reading standard deviations:DHT11 | DHT21 | DHT22 | Portable | bme280 | ||
---|---|---|---|---|---|---|
humidity | Systematic Error (%pt) | -24.53 | 1.80 | 1.70 | 1.10 | -1.90 |
Statistical Uncertainty (%pt) | 7.66 | 1.75 | 3.12 | 3.06 | 1.60 | |
temperature | Systematic Error (°C) | -2.30 | 0.20 | 0.40 | 0.40 | -0.61 |
Statistical Uncertainty (°C) | 0.88 | 0.41 | 0.73 | 0.30 | 0.39 |