Blogs
AHT10 High Precision Digital Temperature And Humidity Measurement Module
AHT10 High Precision Digital Temperature & Humidity Sensor
I2C interface environmental sensor with ±0.3°C temperature and ±2% humidity accuracy
Introduction
The AHT10 is a high-precision, fully calibrated digital temperature and humidity sensor with an I2C interface. This compact module provides excellent measurement accuracy with very low power consumption, making it ideal for IoT devices, weather stations, and environmental monitoring systems.

Key Features
High Accuracy
±0.3°C temperature, ±2% humidity
Digital Interface
I2C communication (up to 400kHz)
Low Power
0.25μA sleep current
Fast Response
Measurement time ≤ 75ms
Fully Calibrated
Factory calibrated, no adjustment needed
Compact Size
11.5mm × 15mm × 5.5mm
Technical Specifications
Measurement Range (Temp) | -40°C to +85°C |
---|---|
Accuracy (Temp) | ±0.3°C (@25°C) |
Resolution (Temp) | 0.01°C |
Measurement Range (RH) | 0% to 100% |
Accuracy (RH) | ±2% (20-80%) |
Resolution (RH) | 0.024% |
Supply Voltage | 1.8V to 3.6V (3.3V typical) |
Current Consumption | 0.25μA (sleep), 320μA (measuring) |
Response Time | ≤75ms |
Interface | I2C (address 0x38) |
Operating Range | -40°C to +85°C, 0-100% RH |
Pin Configuration

Pin | Label | Description |
---|---|---|
1 | VDD | Power supply (1.8-3.6V) |
2 | GND | Ground |
3 | SCL | I2C clock line |
4 | SDA | I2C data line |
Arduino Connection
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <Wire.h> #include <Adafruit_AHTX0.h> Adafruit_AHTX0 aht; void setup() { Serial.begin(9600); while (!Serial) delay(10); // Wait for serial monitor if (!aht.begin()) { Serial.println("Could not find AHT10 sensor!"); while (1) delay(10); } Serial.println("AHT10 initialized"); } void loop() { sensors_event_t humidity, temp; aht.getEvent(&humidity, &temp); // Get data Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println("°C"); Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("%"); delay(2000); // Wait 2 seconds } |
Measurement Process
- Power on the sensor (wait ≥20ms after power-up)
- Send initialization command (0xE1)
- Trigger measurement (0xAC)
- Wait for measurement completion (≤75ms)
- Read 6 bytes of data (temperature + humidity)
- Convert raw data to physical values
Accuracy Considerations
Temperature Accuracy
±0.3°C @25°C
±0.5°C over full range
Humidity Accuracy
±2% RH (20-80% RH)
±3% RH (0-100% RH)
Factors Affecting Accuracy
• Self-heating (minimize measurement frequency)
• Airflow (avoid stagnant air)
• Direct sunlight (affects readings)
Troubleshooting
Sensor Not Detected
- Check I2C address (default 0x38)
- Verify wiring (SDA/SCL connections)
- Ensure pull-up resistors are present (4.7kΩ recommended)
- Check power supply voltage (1.8-3.6V)
Incorrect Readings
- Allow sensor to stabilize after power-up (≥20ms)
- Ensure proper delay between measurements (≥1s)
- Check for condensation on sensor
- Verify calibration status
Communication Errors
- Check I2C bus speed (≤400kHz)
- Shorten cable length if using long wires
- Ensure only one master on I2C bus
- Verify no address conflicts
Application Examples
Smart Home
Climate monitoring and control
Weather Stations
Portable environmental monitoring
Industrial
Equipment environmental sensing
Agriculture
Greenhouse monitoring systems