Aosong ASAIR AHT10 & AHT15 Digital Humidity & Temperature Sensor library

Very cheap, fast & accurate digital humidity & temperature sensor.

Supply voltage: 1.8v - 3.6v
Temperature range: -40°C..+80°C
Temperature resolution: 0.01°C
Temperature accuracy: ±0.3°C
Relative humidity range: 0%..100%
Relative humidity resolution: 0.024%
Relative humidity accuracy: ±2%**
I²C bus speed: 0Hz - 400KHz
Recomended polling frequency: 8sec - 30sec

Supports all sensors features:

read humidity***
read temperature***
soft reset

**Prolonged exposure for 60 hours at humidity > 80% can lead to a temporary drift of the signal +3%. Sensor slowly returns to the calibrated state at normal operating conditions.

***Library returns 255 if a communication error occurs

Download link - GitHub - enjoyneering/AHT10: This is an Arduino library for Aosong ASAIR AHT10, AHT15 Digital Humidity & Temperature Sensor

The purpose of you post ?

Knowledge is power.

enjoyneering:
Very cheap, fast & accurate digital humidity & temperature sensor.

not sure about accurate..

see Test 2: (v7) room RH12 low humidity
or Test 4: (v6) Saturated NaCl solution

and also not sure about fast

I believe those are about 3 times slower than SHT2x and 5-6 time slower than SHT3X and BMEx80

Also, I think those have issues with other i2c devices compatibility (see the message)

The AHT10 does both (T & RH) conversions simultaneously in 75milliseconds. The SHT21 reads T with 14-bit resolution in 66..85msec & and RH in 22..29msec with 12-bit resolution. Total 88..114msec.

enjoyneering:
The AHT10 does both (T & RH) conversions simultaneously in 75milliseconds. The SHT21 reads T with 14-bit resolution in 66..85msec & and RH in 22..29msec with 12-bit resolution. Total 88..114msec.

I may of cause did some mistakes in my tester code, that is why I am not 100% sure, but at the moment getting data from AHT1x is much slower than any other sensors in my project.

Do you get those numbers by measure the time of sensor response or that is according to the datasheet?

As you may see from measurement accuracy - numbers from the datasheet are not always 100% correct.

No, I didn't measure the convertion time. I'm cheking busy bit and then wait for 75 msec. But the data is always there after 75msec, because the library never returns AHT10_ERROR(255). :slight_smile:

if (getBusyBit() != 0x00) delay(AHT10_MEASURMENT_DELAY); //measurement delay

The datasheet doesn't give a lot of info about the "norm" and "cyc" mode, but I guess the normal - one measurement & power down and cyc - continuous measurement. I'm using normal mode only: send measurement command 0xAC, then check busy bit and if data is not ready wait for 75msec. After 75msec sensor puts data to the register and goes to sleep & you safe to retrieve it.

Check my other library for SHT21, HTU21D & Si70xx. It also returns HTU21D_ERROR(255), if there is a CRC8 mismatch or a communication error has occurred.

Added support for Aosong ASAIR AHT20. Download link - GitHub - enjoyneering/AHT10: This is an Arduino library for Aosong ASAIR AHT10, AHT15 Digital Humidity & Temperature Sensor

Can i use multiple aht10 on the same arduino? I can't find any info about changing address. Or every chip has some unique id?

Thanks!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.