Go Down

Topic: Compare different i2c temperature and humidity sensors (SHT2x, SHT3x, SHT85, ..) (Read 4537 times) previous topic - next topic


There is a significant price difference in the same type of sensor modules from different brand/suppliers, so I am not sure how to put in a table )

It will look like for example BME280 3$-31$ :)

All Sensors price

SHT20 - 4$
SHT21-C - 12$
SHT21-G - 4$
SHT25 - 4$ (board) +10$ (chip) + work

SHT30 - 7$
SHT31 - 9$
SHT31-2 - 4$
SHT35 - 16$
Adafruit SHT31 - 14$ (~17$ with tax and delievery)

Sensirion SHT85 - 30$ (35$-40$ with delivery)

BME280 - 3.5$
BME280-G - 3$
BME680-C 11$
Adafruit BME280 - 23$ (31$ with tax and delievery)

Si7021 - 8$/2
Si7021-Y - 3$
Si7021-G - 4.5$
Adafruit Si7021 - 7$ (~10$ with tax and delievery)

HTU21d-Y - 3$
HTU21d-G - 10$ (sold as SHT that is why expensive)
Adafruit HTU21d - 18$

AHT10 - 1.3$

HDC1080-G - 2.5$
HDC1080-C - 4$

AM2320 - 2$


found the issues in previous results (SHT35 results was shown as SHT31-2, and vice-versa). Posts in topic updated to fix that. The initial post was rewritten (so no need to read all the posts): added project history, board v5 image with sensors label, sensors modules price range.


Not sure what you are trying to achieve here, you are comparing similar sensors and assuming one type is likely more accurate than another? They are not, the sensors chosen are fundamentally all the same technology, and all susceptible to thermal effect, so not mounting them in an environemental chamber (a box), and not circulating the air renders most of your results unusable save for the academic excercise of putting lots of sensors on one bus, or a cost comparison. A 1°C rise on the board lowers the humidity reading by 2.5%, so any thermal stratification or pich up from adjacent electronics will effect output. These things are sensors, not electronic chips, even though they look like chips! We spend an inordinate amount of time thermally isolating designs.

If you want to do this properly then you need compare with a chilled mirror sensor, yes they are truly expensive, but are truly the only way to measure humidity accurately and repeatedly, unsurprisingly its what national reference sensors are, and are fitted universally in environmental chambers.

So my apologies for apparenty 'dissing' your work, but when you spend as much time as I do expaining to electronic engineers that it's a sensor not a chip and cannot be treated as such, you'll understand my frustration.

BTW, you didn't include our ChipCap or the waterproof T9602 probe.


(1) why compare similar sensors?

Because they give different measurements. And that is not expected. People expect to get the same numbers from the two same types of sensors in the same device/project. Also, that is something not covered in previous "this kind" of sensors comparison I found. Some of the previous comparisons are about single SHT30 compared to single BME280 or HTU21d, and that is something I want to improve there. (to see how multiple SHT3x perform in comparison to multiple HTU21d)

(2) env chamber and airflow

I am not a lab. but I also did test in a box and with airflow, board upside-down and so on, trends are more or less the same. so that is definitely not something can be explained with board unequal heating.

(3) sensors are not a chip

I believe I understand that. But is that all humidity sensors are kind of inaccurate by-default and need per-device calibration or at least some expensive one might be trusted "from the box". Can I just buy the pre-calibrated sensor and use it my project or it is something "unavailable as an option" for all these sensors? And actually, any DIY weather station (no matter how good you follow thermal design guidance) has no chance to be accurate?

(4) ChipCap
I only test i2c t/RH sensors, one can buy for DIY Arduino project on Aliexpress or Amazon. Have no goal to cover all existing sensors of all types (it is actually too expensive). Did search again ChipChap not found on both platforms. That is why it is not on my board. Now working on adding HDC2080 and AHT15 (appears on Aliexpress recently)

Multiple i2c humidity sensors test (note)

Trends with Airflow



Ive recently started to use dhts to measure humidity and temp.  First I was interested in measuring temp of a warehouse and second the humidity of coffee beans.  I ran into these issues:

1.  Warehouse is far from wifi access so I used nrf radios to send data to building with wifi to post data to Thingspeak.com for logging.  Since warehouse is remote and without power I had to use solar rechargeable battery pack to power project.  When I tested in the field the t and h measurements were off or at least seemed off.  5% hum and 51C.  Now I understand the thermal effect you mention since I was testing it out in the sun in order for the solar panel to charge the battery pack. 

So I could separate the panel from the rest of my setup but the warehouse is going to be hot.  At what temp does that thermal effect kick in and start distorting my data?

2. Humidity in the coffee bean.  I've long wondered what those $500 coffee humidity testers work on for humidity.  I have noticed a flat prism like tip at the bottom of the coffee container which I'm guessing would be one of the mirrors.  Ok so my idea was to make a cheaper version of them but if air circulation is important then I would have to add a fan as well.  I've been testing just the dht22 and hdc1080 locked in a closed Tupperware a inside a room and it's still all over the place, from low 60's to high 70's.

So cooling it to a certain temp would actually be better for the reading?


Wait, does that thermal effect work proportional or inversely, for t vs t?

Because right now I have a cooking thermometer and a digital one next to the dht11.  The dht11 reads 33 and the cooking reads 40 and the digital 39.8.  So it seems the hotter the dht11 gets, the lower it's temp reading.


Wait, does that thermal effect work proportional or inversely, for t vs t?

Because right now I have a cooking thermometer and a digital one next to the dht11.  The dht11 reads 33 and the cooking reads 40 and the digital 39.8.  So it seems the hotter the dht11 gets, the lower it's temp reading.
sensor self-heating (like bosch BME) or sensor near hot electronic components (like CPU, MCU, voltage regulator) show higher than real temperature, and lower than real humidity. But that is only part of a problem.

Other problem is - two sensors almost always measure somehow differently. The same type of sensor also. And relatively expensive sensors too.

Cheap sensors like DHT11 is inaccurate "by design".

And as I understand it is kind of per sensor/device calibration needed for all devices using sensors to be sure measurements are more or less correct.



Yet another tests results:

at ~RH=17%
at ~RH=75%
at ~RH=100%

An impression from new sensors in general, AHT15 is better than AHT10 (I expected the same results).
CJMCU modules HDC2080 is better than HDC1080 in humidity measurement, but not in temperature.
(self-heating? start wondering about "more feature in sensor more +temperature it measures").


Inside AHT15 and AHT10
Pulling out sensor module from board accidentaly got cover off AHT15. Decide to compare with AHT10.


After a lot of tests and changes, I did not find a way to make AHT10 and AHT15 work stable on the same i2c bus with any other types of sensors. Making the i2c line shorter also does not help. The only solution I found for the next version of the board is to dedicate multiplexer to AHT sensors. And that causes fewer sensors in the next test runs, but runs are not limited in time by unstable device.


While adding Sensirion SHTC1 sensor to v8 board found BME280 (and BME680) using ports 0x76/0x77 (118/119) that is also used by TCA9548A multiplexers #7 and #8. So Using Bosch sensors limit the number of multiplexers in use to 6 only.  :( (6 is already in use in v7 setup)

Go Up