Project Goal
To create Arduino based device to compare data for as many t/RH sensors as possible (without manual sensor switch), optionally with data logging for further analysis.
- v1 draft multiple humidity sensors comparision
- v2 7x8 Sensors board project
- v3 7x8 Sensors board project
- v4 7x8 Sensors board project
- v5 Sensors Board project
- v6 Sensors Board
- v7 Sensors Board
- v8 Sensors Board
- v8b Sensors Board
- v9 Sensors Board
- v10-AHT Sensors Board
- v10.1-AHT Sensor board
Preparation
Use of the same sensor on i2c usually limited by 1 or 2 (using ALT i2c address) of the same type. And SHT20, SHT21, SHT25, HTU21 is actually the same type, so to be able to compare measurement there is a need to use i2c multiplexer. In the case of 8 line multiplexer, there is a possibility to have 8-16 sensor at the same time to be connected with Arduino.
Sensor i2c addresses and voltages
to divide between multiplexers
Sensor | address | alt address | spec | Vmin-Vmax | Vtyp | 1.8v | 3.3v | 5v** |
---|---|---|---|---|---|---|---|---|
AOSONG AHT10 | 0x38 (62) | 0x39 (63) | 1.8-3.6v | 3.3v | ||||
AOSONG AHT15 | 0x38 (62) | 1.8-3.6v | 3.3v | |||||
Senserion SHT2x | 0x40 (64) | 0x41 (65) | 20,21,25 | 2.1-3.6v | 3v | |||
Senserion SHT3x | 0x44 (68) | 0x45 (69) | SHT3x | 2.15-5.5v | 3.3v | |||
Senserion SHT8x | 0x44 (68) | SHT85 | 2.15-5.5v | 3.3v | ||||
Meas(1) HTU21D | 0x40 (64) | HTU21D | 1.5v-3.6v | 3v | ||||
Silicon Labs Si7021 | 0x40 (64) | 1.9v-3.6v | - | |||||
Bosch(2) BMEx80 | 0x76 (118) | 0x77 (119) | 680 | 1.71v-3.6v | 1.8v | |||
Bosch(2) BME280 | 0x76 (118) | 0x77 (119) | 280 | 1.71v-3.6v | 1.8v | |||
Ti(3) HDC1080 | 0x40 (64) | 2.7v-5.5v | 3v | |||||
Ti(3) HDC2080 | 0x40 (64) | 0x41 (65) | 1.62v-3.6v | - | ||||
AOSONG DHT12 | 0x5C (92) | 2.7-5.5v | 5v | |||||
AOSONG AM2320 | 0x5C (92) | 3.1-5.5v | 5v |
1 TE Connectivity Measurement Specialties
2Bosch Sensortec
3 Texas Instruments
** some sensors board have voltage regulators and level converter (and may support voltages above mentioned in sensor datasheet)
Draft schematic
Versions
v1
- Single multiplexer breadboard draft project with 26 Sensors
v2
- Use less wires and more soldering and connectors
- SD data logging (with filenames auto increment)
- Add more columns to the screen
v3
- Use 3+ multiplexers to include twice more sensors (incl. hdc1080 and Si7021, SHT85)
- Add more SHT85 sensors to see results repeatability (for the most expensive sensor)
- remove some libraries (multiplexor, sensor reading) not compatible with multiple mux projects
- substitute i2c scan every cycle with pre-defined array processing
- (Hardware) i2c 3.3v/5v level converter
- (Hardware) 2500mAh battery with related circuits
- (Hardware) New case,
- (Hardware) New 2m wire between the main unit and the board
- (Hardware) New plastic shields for connectors
v4 - failed
- AHT10 sensors (both wiring and code needed) - fail
- Change board wiring for new Adafruit sensors
- replace DHT12 with additional BME280
- Change board sensors (HDC1080 to HTU21d)
v5
- New board for both mux and sensors with fewer wires and connectors
- Wire new additional 5v sensor board with mux #4
- AM23020 5v sensors and code
- HDC1080 moved to 5v additional board
- Separate AHT10 to additional multiplexor (mux #5)
v6 - unstable
- AHT15 sensors (AHT10 code reuse)
- HDC2080 sensors and code
- connect and enable mux #6
v7 - unstable
- hardware RTC clock
- SD files with correct timestamps
v8 - unstable
- Updated Power circuit
- i2c voltage converter board and new wiring
- SHTC1 and SHTC3 sensors added
- mux #1 address changed (to solve i2c address conflict)
- 2x BME680 removed (to solve i2c address conflict)
- 1x BME280 removed (to solve i2c address conflict)
- DHT12 sensors added instead of three BMEx80 (8a)
- ChipCap Sensor added instead of DHT12 (8b)
v9 - current
v10 - abandoned
- code optimization
- trend visualization
- hardware controls
- menu options (like format SD card)
- got some kind of home-made "calibration" tests with resolutions
v10-AHT
- New small density sensor boar
- AHT10, AHT20, AHT21, AHT25 sensors only
- exclude voltage conversion (that is why AHT15 is missing)
- a single sensor on one i2c multiplexer lane
- Single read for temperature and humidity data for AHT
- simplified code to support only AHT type of sensors