Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use AHT10: Examples, Pinouts, and Specs

Image of AHT10
Cirkit Designer LogoDesign with AHT10 in Cirkit Designer

Introduction

The AHT10 is a high-precision digital sensor that measures relative humidity and temperature, offering reliable performance in a compact form factor. Manufactured by Sensor, the AHT10 utilizes a capacitive polymer sensing element to provide accurate and stable readings. This sensor is commonly used in environmental monitoring, HVAC systems, consumer electronics, and weather stations.

Explore Projects Built with AHT10

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano-Based Weather Station with Wi-Fi Connectivity and Multiple AHT10 Sensors
Image of PS2_Group 5: A project utilizing AHT10 in a practical application
This circuit features an Arduino Nano microcontroller interfacing with three AHT10 temperature and humidity sensors, an ESP8266-01 WiFi module, and a 16x2 LCD display. It includes power regulation components to step down voltage and manage power distribution, and rocker switches for user input. The setup is designed for environmental monitoring and data display with potential for wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano and ESP8266 Wi-Fi Controlled Weather Station with LCD Display
Image of Grain Moisture Monitor: A project utilizing AHT10 in a practical application
This circuit is a microcontroller-based system that uses an Arduino Nano to read data from an AHT10 temperature and humidity sensor and display it on a 16x2 LCD. It also includes a WiFi module (ESP8266-01) for wireless communication, powered by a step-down module and a buck converter to provide the necessary voltage levels.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wemos D1 Mini Based Soil Moisture and Temperature Monitoring System
Image of pfe2: A project utilizing AHT10 in a practical application
This circuit features a Wemos D1 Mini microcontroller connected to an AHT10 temperature and humidity sensor and a capacitive soil moisture sensor. The AHT10 communicates with the Wemos D1 Mini via I2C (with SDA connected to D2 and SCL to D1), while the soil moisture sensor's analog output is connected to the A0 pin of the Wemos D1 Mini. Both sensors and the microcontroller share a common power supply, with the 3V3 pin of the Wemos D1 Mini providing power to the sensors.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Weather Station with AHT10 Sensor and Wi-Fi Connectivity
Image of Grain Moisture Monitoring: A project utilizing AHT10 in a practical application
This circuit uses an Arduino Nano to read temperature and humidity data from an AHT10 sensor, display the data on a Serial Enabled 16x2 LCD, and transmit it over WiFi using an ESP8266-01 module. Power is managed through a Step Down Module and a Mini 360 Buck Converter to provide the necessary voltages for the components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with AHT10

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of PS2_Group 5: A project utilizing AHT10 in a practical application
Arduino Nano-Based Weather Station with Wi-Fi Connectivity and Multiple AHT10 Sensors
This circuit features an Arduino Nano microcontroller interfacing with three AHT10 temperature and humidity sensors, an ESP8266-01 WiFi module, and a 16x2 LCD display. It includes power regulation components to step down voltage and manage power distribution, and rocker switches for user input. The setup is designed for environmental monitoring and data display with potential for wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Grain Moisture Monitor: A project utilizing AHT10 in a practical application
Arduino Nano and ESP8266 Wi-Fi Controlled Weather Station with LCD Display
This circuit is a microcontroller-based system that uses an Arduino Nano to read data from an AHT10 temperature and humidity sensor and display it on a 16x2 LCD. It also includes a WiFi module (ESP8266-01) for wireless communication, powered by a step-down module and a buck converter to provide the necessary voltage levels.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of pfe2: A project utilizing AHT10 in a practical application
Wemos D1 Mini Based Soil Moisture and Temperature Monitoring System
This circuit features a Wemos D1 Mini microcontroller connected to an AHT10 temperature and humidity sensor and a capacitive soil moisture sensor. The AHT10 communicates with the Wemos D1 Mini via I2C (with SDA connected to D2 and SCL to D1), while the soil moisture sensor's analog output is connected to the A0 pin of the Wemos D1 Mini. Both sensors and the microcontroller share a common power supply, with the 3V3 pin of the Wemos D1 Mini providing power to the sensors.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Grain Moisture Monitoring: A project utilizing AHT10 in a practical application
Arduino Nano Weather Station with AHT10 Sensor and Wi-Fi Connectivity
This circuit uses an Arduino Nano to read temperature and humidity data from an AHT10 sensor, display the data on a Serial Enabled 16x2 LCD, and transmit it over WiFi using an ESP8266-01 module. Power is managed through a Step Down Module and a Mini 360 Buck Converter to provide the necessary voltages for the components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Home and building automation for climate control
  • Environmental monitoring and data logging
  • Consumer electronics for indoor air quality devices
  • Weather stations and meteorological equipment

Technical Specifications

Key Technical Details

  • Supply Voltage: 2.2V to 5.5V
  • Measurement Range (Humidity): 0% to 100% RH
  • Measurement Range (Temperature): -40°C to +85°C
  • Humidity Accuracy: ±2% RH
  • Temperature Accuracy: ±0.3°C
  • Interface: I2C
  • I2C Address: 0x38 (fixed)

Pin Configuration and Descriptions

Pin Number Name Description
1 VDD Power supply (2.2V to 5.5V)
2 SDA I2C Data line
3 GND Ground
4 SCL I2C Clock line

Usage Instructions

How to Use the AHT10 in a Circuit

  1. Connect the VDD pin to a 2.2V to 5.5V power supply.
  2. Connect the GND pin to the ground of the power supply.
  3. Connect the SDA and SCL pins to the I2C data and clock lines, respectively.
  4. If necessary, use pull-up resistors on the SDA and SCL lines as per I2C specifications.

Important Considerations and Best Practices

  • Ensure that the power supply voltage does not exceed the specified maximum of 5.5V.
  • Avoid exposing the sensor to condensing humidity conditions.
  • Place the sensor away from heat sources for accurate temperature readings.
  • Implement proper I2C communication handling to prevent data corruption.

Example Code for Arduino UNO

#include <Wire.h>

// AHT10 I2C address
#define AHT10_ADDRESS 0x38

// AHT10 registers
#define AHT10_INIT_CMD 0xE1
#define AHT10_MEASURE_CMD 0xAC
#define AHT10_RESET_CMD 0xBA

void setup() {
  Wire.begin(); // Initialize I2C
  Serial.begin(9600); // Start serial communication at 9600 baud rate
  
  // Initialize AHT10 sensor
  Wire.beginTransmission(AHT10_ADDRESS);
  Wire.write(AHT10_INIT_CMD);
  Wire.endTransmission();
  delay(20); // Wait for sensor initialization
}

void loop() {
  // Trigger a measurement
  Wire.beginTransmission(AHT10_ADDRESS);
  Wire.write(AHT10_MEASURE_CMD);
  Wire.write(0x33);
  Wire.write(0x00);
  Wire.endTransmission();
  delay(100); // Measurement time
  
  // Read the data (6 bytes)
  Wire.requestFrom(AHT10_ADDRESS, 6);
  if (Wire.available() == 6) {
    uint8_t data[6];
    for (int i = 0; i < 6; i++) {
      data[i] = Wire.read();
    }
    
    // Convert the data to actual humidity and temperature
    unsigned long humidity_raw = ((unsigned long)data[1] << 12) | ((unsigned long)data[2] << 4) | (data[3] >> 4);
    unsigned long temp_raw = (((unsigned long)data[3] & 0x0F) << 16) | ((unsigned long)data[4] << 8) | data[5];
    
    float humidity = humidity_raw * (100.0 / 1048576.0);
    float temperature = (temp_raw * (200.0 / 1048576.0)) - 50;
    
    // Output the results to serial monitor
    Serial.print("Humidity: ");
    Serial.print(humidity);
    Serial.println("%");
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println("C");
  }
  
  delay(2000); // Delay between measurements
}

Troubleshooting and FAQs

Common Issues

  • Inaccurate Readings: Ensure the sensor is not placed near heat sources or in direct sunlight.
  • No Data on I2C: Check connections and pull-up resistors on the SDA and SCL lines.
  • Sensor Not Responding: Try resetting the sensor using the AHT10_RESET_CMD command.

Solutions and Tips for Troubleshooting

  • Verify the power supply voltage and connections.
  • Ensure that the I2C address in your code matches the sensor's address.
  • Use a logic analyzer or oscilloscope to debug I2C communication issues.
  • Check for soldering issues on the sensor pins if using a breakout board.

FAQs

Q: Can the AHT10 sensor be used with a 3.3V system? A: Yes, the AHT10 can operate with a supply voltage as low as 2.2V.

Q: How often should I calibrate the sensor? A: The AHT10 is factory-calibrated and typically does not require additional calibration.

Q: Is the AHT10 waterproof? A: No, the AHT10 is not waterproof and should be protected from moisture and condensation.

Q: Can I use multiple AHT10 sensors on the same I2C bus? A: No, the AHT10 has a fixed I2C address, so you cannot use multiple AHT10 sensors on the same I2C bus without additional hardware to change the address lines.