Testing Various Low-Cost Hygrometers

Please read the front page to understand the context of opinions given here.

In preparation: Spring 2018.


The Experiments

Conclusions presented here evolved over several years of repeated and gradually developed experimental procedure. For context, here is the chronological sequence of the experiments.

  1. Obsolete description of my first attempts. Of historical and methodological interest only.
  2. First full test based on six DHT22 (AM2302) sensors. Includes the most complete description of my test methodology used in all subsequent tests.
  3. First failure of one of the test devices and investigating the cause.
  4. Add DHT11 and SHT71 as representatives of significantly lower and higher specification devices to compare to DHT22.
  5. First big multi-sensor comparison with AM2302/DHT22, AM2320, AM2321, SHT71, HTU21D, Si7021 & BME280.
  6. Attempt to bake and recondition a possibly contaminated SHT71 and long term test on other devices.
  7. Added Sensirion SHT31.

Related, there is also some investigation of the absolute temperature accuracy for the BME280.


The intent of this page is as a single easily updateable location where I can list my most recent conclusions and provide a link to the experimental data to support each statement. The linked articles contain the full details.

BME280

All four BME280 when tested new (first pair, second pair) met their advertised specification of ±3% at the reference temperature of 25°C and also showed almost no drift as a function of varying temperature. When retested after a year of real-world use their calibration had degraded to a point that was still significantly better than most, but was at least now comparable to some others. They were not the absolute fastest devices tested but at a few seconds response, more than quick enough for my applications. Hysteresis was about average but remained within the ±3% specification. One odd quirk is that they are the only sensor tested to show a thermometer calibration error as a function of humidity. They read about 0.1°C colder at RH=100% compared to RH=0%, a shift that is well within specification (±1°C) but idly intriguing. The BME280 remains my favourite so far. Some devices beat or matched it on individual characteristics, but the BME280 was the winner or joint leader over a range or parameters. For example, one of my SHT31 matched it in absolute accuracy, but was let down in consistency by the other SHT31. My SHT71 is easily able to equal the BME280 in linearity and temperature stability, but not in absolute accuracy. The BME280 also has the flexibilty to use in either polled or free-running modes and you get a barometer too!

SHT31

Still writing

SHT71

This is my oldest device that is still working, so reliablity is good. I have baked one in the oven and dropped one in saturated NaBr solution and they keep working fine. Of the sensors for which I was able to run the full 2D temperature and humidity calibration, the SHT71 and BME280 were the two that gave a perfect, featureless calibration plane. Unfortunately the calibration plane for the SHT71 was tilted meaning the absolute calibration was well behaved and linear, but wrong. Discussion with an engineer at Sensirion, the manufactuter, suggested this may signify both my SHT71 were somehow contaminated before I got them. It has always shown either good or excellent hysteresis and along with the HTU21D it was joint fastest. Basically there is a lot to like, but my device at least showed a poor calibration.

Si7021

Absolute accuracy was about the average of all the other devices, typically 5%, but up to 10% off in the worst cases. (test 1, test 2, test 3) The good news is that at least those results are consistent over about three years of operation for device "L" and also consistent between the two devices tested, "L" and "P". It seems reliable and consistent. (Compare that the DHT22, which showed considerable variance.) It had the slowest response of all the devices tested. There are few applications where humidity fluctuates rapidly so slow response (10s of seconds) is not necessarily a bad thing at all, but the slowness could also be related to the large hysteresis which I do think could be a more serious problem.

HTU21D

Absolute accuracy was about the average of all the other devices, typically 5%, but up to 10% off in the worst cases (test 1, test 2) and consistent over a couple of years of operation. It was the joint winner (with SHT71) for fastest response among all the devices tested. These two (SHT71 and HTU21D) were strikingly the quickest so for some specific application (e.g., rapidly fluctuating humidity in forced air flow through a duct) these might be the choice. Hysteresis was excellent (test 1, test 2).

DHT22 / AM2302

I never got them to meet their advertised accuracy (example data) but they are accurate enough for most everyday tasks. Typical errors around 5%, which actually makes them better than average among my test sample. Strong calibration drift as a function of temperature so best used in a limited temperature range. Shows smaller than average hysteresis effects. However, I had terrible trouble with reliability. I keep them as a baseline reference because they were the first devices tested, but have abandoned using them in real applications. For the six I tested, average life expectancy was around a year. Their greatest strength is their price and availability. If you just want to play with a digital hygrometer they are a great choice. I am impressed they worked at all for the price and the fact that one of my six still works and is accurate to 5% after three years is astounding. Four are now dead and the sixth (F) has the worst calibration of all my sensors.

DHT11

A much lower specification device and performs to those low expectations. I only ran one test on it and it did what it claimed to be able to just fine but I wanted more than that. Very strong calibration change as a function of temperature. No long term tests ever performed.

AM2320 / AM2321

I think these these might be electrically identical to each other and differ only in physical packaging. At a fixed temperature of 25°C accuracy seems good in the range 2–5% but there is a strong calibration change as temperature varies. One of my devices shows a lot of hysteresis and the other very little. Though similar in specification and performance, these devices are not internally identical to the DHT22(AM2302) because they do not exhibit the very distinctive DHT22 sawtooth behaviour around 25°C. Their major problem and the reason I have abandoned these devices were weird intermittent read errors. I never got to the bottom of whether this was something wrong in my set-up or an intrinsic sensor fault.