Blog

GY-213V HDC1080 Digital Humidity & Temperature Sensor

GY-213V HDC1080 Digital Humidity & Temperature Sensor

High-Accuracy I2C Environmental Sensing for Arduino Projects

Introduction

The GY-213V HDC1080 is a high-precision digital humidity and temperature sensor with I2C interface. This low-power sensor provides ±2% relative humidity accuracy and ±0.2°C temperature accuracy, making it ideal for weather stations, HVAC systems, and IoT applications.

Key Features

🌡️ Dual Measurements

Simultaneous humidity and temperature sensing

🔋 Low Power

1.2μA sleep current (0.55mA active)

📊 High Accuracy

±2% RH, ±0.2°C (typical)

🔌 I2C Interface

Standard 3.3V-5V compatible

Technical Specifications

Humidity Range0% to 100% RH
Temperature Range-40°C to +125°C
Resolution14-bit (RH), 14-bit (Temp)
Supply Voltage2.7V to 5.5V
I2C Address0x40 (default)
Response Time8s (RH), 6.5ms (Temp)

Pin Configuration

PinLabelDescriptionArduino Connection
1VCCPower (2.7-5.5V)3.3V or 5V
2GNDGroundGND
3SCLI2C ClockA5 (Uno) or SCL
4SDAI2C DataA4 (Uno) or SDA
5ADDRAddress SelectGND (default) or VCC
Note: Pull-up resistors (4.7kΩ) are typically included on the module

Wiring Diagram (Arduino Uno)

// Basic Connections:
// VCC → 3.3V or 5V
// GND → GND
// SCL → A5 (or SCL)
// SDA → A4 (or SDA)
// ADDR → GND (for default address 0x40)

 

Basic Reading Example

#include <Wire.h>
#include "ClosedCube_HDC1080.h"

ClosedCube_HDC1080 hdc1080;

void setup() {
  Serial.begin(9600);
  hdc1080.begin(0x40); // Default I2C address
  
  Serial.println("HDC1080 initialized");
  Serial.print("Manufacturer ID=0x");
  Serial.println(hdc1080.readManufacturerId(), HEX);
}

void loop() {
  float humidity = hdc1080.readHumidity();
  float temperature = hdc1080.readTemperature();
  
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print("% RH, Temperature: ");
  Serial.print(temperature);
  Serial.println("°C");
  
  delay(2000);
}

 

Library Required: Install “ClosedCube HDC1080” via Arduino Library Manager

Advanced Configuration

Resolution Settings

// Set measurement resolution
hdc1080.setResolution(HDC1080_RESOLUTION_14BIT, 
                     HDC1080_RESOLUTION_14BIT);

Heater Control

// Enable built-in heater (for drying condensation)
hdc1080.heatOn();
delay(1000);
hdc1080.heatOff();

Battery Monitoring

// Check battery status (below 2.8V)
if(hdc1080.readBatteryStatus() == LOW) {
  Serial.println("Low battery!");
}

Address Change

// Connect ADDR pin to VCC to use 0x41
hdc1080.begin(0x41); // Alternate address

Troubleshooting

No Device Detected

  • Verify I2C connections (SDA/SCL)
  • Check with I2C scanner sketch
  • Confirm power supply (3.3V recommended)

Incorrect Readings

  • Allow proper warm-up time (15s recommended)
  • Keep sensor away from heat sources
  • Check for condensation on sensor

Communication Errors

  • Add 4.7kΩ pull-up resistors if missing
  • Reduce I2C bus speed if using long wires
  • Check for address conflicts