AHT10/AHT15 temperature and humidity sensor~
This feature is not included in precompiled binaries
When compiling your build add the following to user_config_override.h
:
#ifndef USE_AHT1x
#define USE_AHT1x // [I2cDriver43] Enable AHT10/15 humidity and temperature sensor (I2C address 0x38, 0x39) (+0k8 code)
#endif
AHT1x are an I2C temperature and humidity sensor. AHT2x or AM2301B are upgraded versions.
Configuration~
This sensor is incompatible with other I2C devices on I2C bus
Sensor datasheet implicitly says: Only a single AHT10 can be connected to the I2C bus and no other I2C devices can be connected. The AHT2x/AM2301B does not suffer from this problem.
Wiring~
AHT | ESP |
---|---|
VCC | 3.3V |
GND | GND |
SDA | GPIOx |
SCL | GPIOy |
Tasmota Settings~
In the Configuration -> Configure Module page assign:
- GPIOx to
I2C SDA
- GPIOy to
I2C SCL
After a reboot the driver will detect AHT1x automatically and display sensor readings.
and in MQTT topic (according to TelePeriod):
{"Time":"2020-01-01T00:00:00","AHT1X-0x38":{"Temperature":24.7,"Humidity":61.9,"DewPoint":16.8},"TempUnit":"C"}
Troubleshooting~
On some I2C sensors, like the AHT25, Tasmota might mistake the sensor for another one using the same address. This can be resolved by disabling the unneeded drivers.
For our example AHT25, the address might get confused with the VEML6070 UV sensor. You can tell Tasmota to use the other driver by issuing the following commands in the console:
I2CDriver12 0
to disable the VEML driverI2CDriver43 1
to enable the AHT driver
An overview of all I2C drivers is available in the docs.
Breakout Boards~
Note: The pins on the smaller breakout board with the AHT15 are in a different order: VDD - SDA - GND - SCL See also the datasheet.