DHT22, are they any good?

I was using DHT22 sensors to measure temperature and humidity inside and outside my house. Inexpensive, low power and easy to set up. I never really cared to test if the values were right, but they seemed sensitive enough.

It wasn't until today, that I wanted to test something and placed two of my sensors next to each other... and their humidity value greatly differed, like 15%. They still responded to changes and everything, but their values had an offset.

So I took four of the DHT22 units I had around and put them on the same board with an arduino nano, and compared their values.

Temperatures were pretty similar, within the error margin given by the manufacturer (0.5ÂșC), but humidity.. each sensor gave completely different measures.

Here's a small extract of the data. Measures were taken every 3 seconds:

Temp1 Temp2 Temp3 Temp4 Hum1 Hum2 Hum3 Hum4
22,4 22,2 22,5 21,9 55,7 51,7 42 20,3
22,4 22,2 22,4 21,9 55,7 51,7 41,9 20,3
22,4 22,2 22,4 21,9 55,7 51,6 41,9 20,3
22,4 22,1 22,5 21,9 55,7 51,5 42 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,1 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,2 22,5 21,9 55,6 51,5 41,9 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,9 20,3
22,4 22,1 22,4 22 55,6 51,4 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,4 41,8 20,3
22,4 22,2 22,5 21,9 55,6 51,5 41,9 20,3
22,4 22,2 22,4 21,9 55,6 51,3 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,4 41,8 20,3
22,4 22,2 22,5 21,9 55,6 51,4 41,9 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,5 41,8 20,3
22,4 22,1 22,4 21,9 55,6 51,5 41,9 20,3
22,4 22,2 22,5 22 55,6 51,4 42 20,3
22,4 22,2 22,4 22 55,6 51,3 41,8 20,3
22,4 22,1 22,4 21,9 55,6 51,2 41,8 20,3
22,4 22,1 22,5 21,9 55,5 51,2 41,9 20,3
22,4 22,2 22,4 21,9 55,5 51,2 41,8 20,3
22,4 22,2 22,4 21,9 55,5 51,3 41,8 20,3
22,4 22,2 22,4 21,9 55,6 51,4 41,8 20,3
22,4 22,1 22,5 21,9 55,6 51,4 41,9 20,3
22,4 22,2 22,5 21,9 55,6 51,5 41,9 20,3
22,4 22,1 22,5 21,9 55,6 51,4 41,9 20,3
22,4 22,2 22,5 21,9 55,6 51,6 41,9 20,3
22,4 22,2 22,4 21,9 55,6 51,6 41,8 20,3
22,4 22,2 22,5 21,9 55,7 51,7 42 20,3
22,4 22,2 22,5 21,9 55,7 51,8 42 20,3
22,4 22,2 22,4 22 55,7 51,8 41,9 20,3
22,4 22,2 22,5 21,9 55,7 51,7 42 20,3
22,4 22,1 22,5 21,9 55,7 51,5 42 20,3
22,5 22,2 22,4 21,9 55,8 51,7 42 20,3
22,4 22,2 22,4 21,9 55,7 51,6 42 20,3
22,4 22,2 22,5 21,9 55,7 51,7 42 20,3
22,4 22,1 22,5 21,9 55,7 51,5 42 20,3
22,4 22,2 22,5 21,9 55,6 51,5 42 20,3
22,4 22,2 22,5 21,9 55,6 51,6 42 20,3
22,4 22,2 22,5 21,9 55,6 51,6 42 20,3
22,4 22,2 22,5 21,9 55,6 51,6 42 20,3
22,4 22,2 22,5 21,9 55,6 51,6 42 20,3
22,5 22,2 22,5 21,9 55,7 51,5 42 20,3
22,4 22,2 22,5 21,9 55,6 51,5 41,9 20,3

Or, as a graph (open in new window to embiggen): |500x130 |500x130

The first spike is me breathing into the sensors. The second spike is placing a heater next to them for a few seconds.

So, is this normal? I've had bad luck and got defective sensors? Are there better options out there?

EDIT: I've manated to cram a 5th sensor into the board. Results are not better now...

Temp1   Temp2   Temp3   Temp4   Temp5   Hum1    Hum2    Hum3    Hum4    Hum5
23.3    23.6    23.8    23.1    24.0    49.2    53.5    51.6    21.2    39.8
23.3    23.6    23.8    23.1    24.0    49.3    53.6    51.6    21.2    39.7
23.3    23.6    23.8    23.1    24.0    49.4    53.6    51.6    21.1    39.6
23.3    23.6    23.8    23.1    24.0    49.4    53.7    51.6    21.1    39.3
23.3    23.6    23.8    23.1    24.0    49.4    53.7    51.5    21.2    39.4
23.3    23.6    23.8    23.1    24.0    49.4    53.7    51.5    21.1    39.4
23.3    23.6    23.8    23.1    24.0    49.4    53.8    51.6    21.1    39.3
23.3    23.6    23.8    23.1    24.0    49.3    53.6    51.6    21.1    39.4
23.3    23.6    23.8    23.1    23.9    49.1    53.4    51.5    21.2    39.3
23.3    23.6    23.7    23.1    23.9    49.1    53.4    51.3    21.2    39.4
23.3    23.6    23.7    23.1    23.9    49.1    53.4    51.3    21.2    39.4
23.3    23.6    23.8    23.1    23.9    49.2    53.5    51.4    21.2    39.5
23.3    23.6    23.7    23.1    23.9    49.2    53.5    51.4    21.2    39.4
23.3    23.6    23.7    23.1    23.9    49.2    53.5    51.4    21.2    39.4
23.3    23.6    23.7    23.1    23.9    49.1    53.4    51.4    21.2    39.3
23.3    23.6    23.7    23.1    23.9    49.1    53.4    51.4    21.2    39.3
23.3    23.6    23.7    23.1    23.9    49.1    53.4    51.3    21.2    39.3
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.3
23.3    23.6    23.7    23.1    23.9    49.3    53.5    51.3    21.2    39.3
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.5
23.3    23.6    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.5
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.5
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.5
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.4
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.4
23.3    23.5    23.7    23.1    23.9    49.2    53.4    51.4    21.2    39.3

Unless all the devices have had the same exposure history and age, you may get what you see. Google for "AM2302" and read the instructions on the last page on how to recover the humidity sensor to it's calibrated value.

They also tell why the humidity sensor may become contaminated.

Paul

Your first data there kind of looks like nonsense.

Are you missing commas or decimal points or something ?

Paul_KD7HB: Unless all the devices have had the same exposure history and age, you may get what you see. Google for "AM2302" and read the instructions on the last page on how to recover the humidity sensor to it's calibrated value.

They also tell why the humidity sensor may become contaminated.

Paul

Two of the sensors have been used for some months now, and three of them were brand new, straight out of the box in which they came. Actually, the most consistent values are not from the newer sensors. When I bought them, they came in a long plastic strip with a slot with the size of each sensor. I guess it it is not impossible that they have been contaminated, but I doubt it's because the original packaging in which they were stored.

I tried to find a way to re-calibrate them, but I couldn't. I've read about the saturated salt solutions, but then I don't know how to correct the values that the sensor gives.

michinyon: Your first data there kind of looks like nonsense.

Are you missing commas or decimal points or something ?

I'm in Europe, so I usually use commas for decimal points. I don't know why one table uses the commas and other the points, I guess I copied the first one from an excel table, and the second one straight from Arduino's serial console.