Multiple i2c sensors comparision using arduino with some consumer devices included in test results. Using SHT85 and GreenDay as "temporary reference devices". 

Multiplexer Lines

Line0x400x440x5c0x770x410x450x760x70
ASHT21SHT30DHT12BME680



BSHT21SHT30DHT12BME680



CHTU21DSHT31DHT12BME280



DHTU21DSHT31-BME280



EHTU21DSHT35-BME280



FSHT20SHT35-BME680



GSHT21SHT31-BME680



HSHT25SHT85--



i2c Scan

Port:0  i2c addr 64  i2c addr 68  i2c addr 119
Port:1  i2c addr 64  i2c addr 68  i2c addr 119
Port:2  i2c addr 64  i2c addr 68  i2c addr 118
Port:3  i2c addr 64  i2c addr 68  i2c addr 118
Port:4  i2c addr 64  i2c addr 68  i2c addr 118
Port:5  i2c addr 64  i2c addr 68  i2c addr 92  i2c addr 118
Port:6  i2c addr 64  i2c addr 68  i2c addr 92  i2c addr 118
Port:7  i2c addr 64  i2c addr 68  i2c addr 92

Hardware in use

  1. Mega2560 keyestudio
  2. LCD 3.5 inch Arduino Mega2560
  3. DFRobot i2c multiplexer (or compatible ShangSi MoudleCX TCA9548A i2c multiplexer)
  4. Sensors (DHT11, SHT21, SHT20, SHT25, HTU21D, SHT30, SHT31, SHT35, SHT85, BME280, BME680)

Draft sketch

github code: https://github.com/liutyi/arduino-humidity-sensors-test/blob/master/mega-sd-tft-480x320-i2c-sensors.ino

Libraries


Screen example

~24% RH


Device/sensortRH
Green Day22.123.1%
Xiaomi MHO-C20122.524%
Senserion S.G.22.5929.88%
Beurer HM1621.6LOW
TFA Spring22.223%
TFA t/RH2225%
SHT21 (1)22.2033.76%
SHT21 (1)22.3335.37%
HTU21D (1)22.3222.21%
HTU21D (1)22.7221.66%
HTU21D (2)22.5521.47%
SHT2022.6024.80%
SHT21 (2)22.7923.80%
SHT2522.7124.91%
SHT3022.0926.83%
SHT3022.1227.23%
SHT3122.0828.11%
SHT3122.1928.05%
SHT3522.2925.49%
SHT3522.4125.14%
SHT31 (2)22.5428.74%
SHT8522.4824.10%
BME68022.6225.45%
BME68023.0324.73%
BME28023.0421.99%
BME28022.8822.31%
BME28023.2221.44%
BME680 (2)24.3020.18%
BME680 (2)24.4121.03%
DHT1222.0014.10%
DHT1222.0014.10%
DHT1222.0031.80%


~29% RH


Device/sensortRH
Green Day22.129.4%
Xiaomi MHO-C20122.131%
Senserion S.G.22.1435.58%
Beurer HM1621.6LOW
TFA Spring22.228%
TFA t/RH2228%
SHT21 (1)22.1337.56%
SHT21 (1)22.2138.98%
HTU21D (1)22.1028.39%
HTU21D (1)22.3928.08%
HTU21D (2)22.2228.14%
SHT2022.2831.06%
SHT21 (2)22.1730.45%
SHT2522.3331.17%
SHT3022.0232.54%
SHT3022.0933.10%
SHT3121.9934.06%
SHT3121.9934.11%
SHT3522.0431.87%
SHT3522.1431.53%
SHT31 (2)22.0935.21%
SHT8522.0030.05%
BME68022.5531.35%
BME68022.8830.60%
BME28022.9027.56%
BME28022.6727.99%
BME28022.9427.10%
BME680 (2)23.7425.61%
BME680 (2)24.0525.82%
DHT1222.1022.40%
DHT1222.1022.40%
DHT1221.9034.50%


~42% RH


Device/sensortRH
Green Day22.342.4%
Xiaomi MHO-C20122.541%
Senserion S.G.22.6646.24%
Beurer HM1621.830%
TFA Spring22.338%
TFA t/RH2234%
SHT21 (1)22.3946.57%
SHT21 (1)22.4647.14%
HTU21D (1)22.3842.10%
HTU21D (1)22.7541.62%
HTU21D (2)22.4941.64%
SHT2022.5843.45%
SHT21 (2)22.6442.40%
SHT2522.7242.95%
SHT3022.5144.97%
SHT3022.5345.42%
SHT3122.4046.15%
SHT3122.4746.14%
SHT3522.5544.30%
SHT3522.6144.02%
SHT31 (2)22.6347.17%
SHT8522.7441.88%
BME68022.6444.04%
BME68022.9342.72%
BME28023.0840.17%
BME28022.8540.79%
BME28023.1139.61%
BME680 (2)24.3734.78%
BME680 (2)23.8036.54%
DHT1222.3036.50%
DHT1222.3036.50%
DHT1221.9043.00%


Draft Results:

Looks like BME680 (2) module got some minor internal heating that makes t measurement higher and RH measurements lower. Will probably try to place it with sensor at the bottom next time (with updated test setup). DHT12 is (as expected) not good at low humidity. Have no explanation of why GY-213V-SHT21 is that inacurate. Surprized with relatively cheap HTU21 (that is compatible to SHT2x and may be replaced without firmware change) perform so good.