How to use HDC1080 Temperature Sensor with Arduino


In this Post we learn How to use HDC1080 Temperature Sensor with Arduino, The HDC1080 Temperature and Humidity Sensor is an excellent option for your home automation project or weather station using Arduino. With its high precision and simple I2C interface, it is easy to connect and use with Arduino Uno. In this tutorial, we will show you how to use the HDC1080 Temperature and Humidity Sensor with Arduino Uno and a 16×2 I2C LCD display.

Hardware Required

You will require the following Hardware Components for interfacing HDC1080 Temperature Sensor with Arduino.

Components#Buy From Amazon
Arduino UNO1Buy Link
HDC1080 Temperature and Humidity Sensor1Buy Link
16×2 LCD Display module1Buy Link
9v DC Adapter (Optional)1Buy Link
Jumper WiresFewBuy Link
Breadboard1Buy Link

What is the HDC1080 Sensor?

The HDC1080 is a digital sensor that combines high-accuracy temperature and humidity sensing into a single device. Its ability to provide reliable data makes it a valuable asset in projects where environmental conditions play a crucial role. But what sets it apart in the universe of sensors?

Pinout of HDC1080 Sensor


Pin Configuration of HDC1080 Sensor

Pin NumberPin NameDescription
1VCCThe Ground of the module, connected to the ground of the circuit
2GNDGround of the module, connected to ground of the circuit
3SCLSerial Clock Line, used to provide clock pulse for I2C communication
4SDASerial Data Address, used to transfer data through I2C communication


  1. Temperature Range: The HDC1080 covers a wide temperature range, making it suitable for various applications.
  2. Humidity Range: With a broad humidity range, it excels in environments with diverse moisture levels.
  3. High Accuracy: The sensor boasts high accuracy levels, crucial for applications where precision is paramount.
  4. I2C Interface: Communication with Arduino is simplified through the I2C interface, streamlining integration.
  5. Low Power Consumption: Despite its advanced features, the HDC1080 operates with low power consumption, ideal for energy-efficient projects.


  1. Dual Measurement: Simultaneously measure temperature and humidity, providing comprehensive environmental data.
  2. Fast Response Time: The HDC1080 ensures swift response times, capturing changes in temperature and humidity promptly.
  3. Compact Design: Its compact form factor facilitates easy integration into a variety of projects.
  4. User-Configurable: Adjust measurement resolution and set the sensor in low-power modes for customized performance.
  5. Integrated Heater: The sensor features a built-in heater for applications that require dew point monitoring or condensation prevention.

Circuit Diagram

The following circuit shows you to learn How to use HDC1080 Temperature Sensor with Arduino Please make the connection carefully


Circuit Connections

ArduinoHDC1080 SensorLCD Display

Installing Arduino IDE Software

First, you will require to Download the updated version of Arduino IDE Software and Install it on your PC or laptop. if you Learn How to install the Arduino step-by-step guide then click on how to install Arduino Button given Blow

Installing Libraries

Now when you are Ready to upload the code, to the Arduino Board you will need first to add the Following Libraries in Arduino, If you Learn How to add the library in the Arduino step-by-step guide click on how to install the library Button given Blow


//For more Projects:

//Program: HDC1080 temperature and humidity sensor with Arduino
//Author: Arduino and Co.

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

ClosedCube_HDC1080 hdc1080;

//Initialize the display at address 0x3B
//e defines the number of columns and lines in the display
LiquidCrystal_I2C lcd(0x3B, 16, 2);

//Array that draws the degree symbol
byte degree[8] = {B00110, B01001, B01001, B00110,
                B00000, B00000, B00000, B00000,};

void setup()

  //Initialize the HDC1080 at address 0x40

  Serial.println("HDC1080 Sensor with Arduino");

  //Initialize the I2C LCD display

  //Assigns the value of the "degree" array to "1", which draws the degree symbol
  lcd.createChar(1, degree);

  //Shows initial information on the display
  lcd.setCursor(0, 0);
  lcd.print("Temp.: XX.XX C");
  lcd.setCursor(0, 1);
  lcd.print("Humidity: YY.YY %");

void loop()
  //Read temperature and humidity values
  float t = hdc1080.readTemperature();
  float h = hdc1080.readHumidity();

  //Shows the values ​​on the display
  lcd.setCursor(7, 0);
  lcd.setCursor(13, 0);
  lcd.setCursor(7, 1);

  //Shows the values ​​in the Serial Monitor
  Serial.print("Temperature: ");
  Serial.print(" C, Humidity: ");
  Serial.println(" %");


  1. Home Weather Stations: Monitor indoor climate conditions with precision, displaying real-time temperature and humidity on a digital interface.
  2. Plant Growth Monitoring: Create an intelligent plant care system by ensuring that temperature and humidity levels are optimal for plant growth.
  3. Data Logging Projects: Capture and log temperature and humidity data over time, providing valuable insights into environmental trends.
  4. Museum Artifact Preservation: Employ the HDC1080 in museums to monitor and maintain controlled environments for artifact preservation.


As the HDC1080 orchestrates the symphony of temperature and humidity data in your Arduino projects, envision the realms it unlocks. From home automation to industrial applications, this sensor becomes a beacon of precision, ensuring that your projects are not just functional but also responsive to the nuanced dance of environmental conditions. So, let the HDC1080 be your guide as you navigate the intricacies of temperature and humidity sensing in the world of Arduino.

Leave a Comment