HDC1080 Humidity/Temperature Sensor Breakout Board

2 min read
HDC1080 Breakout

HDC1080 Humidity/Temperature Sensor Breakout Board

2 min read

From the datasheet:

The HDC1080 is a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power. The HDC1080 operates over a wide supply range, and is a low cost, low power alternative to competitive solutions in a wide range of common applications. The humidity and temperature sensors are factory calibrated.

It’s very small with a 3mm x 3mm footprint. The I2C interface makes it easy to interface with something like an Arduino or Raspberry Pi. A breadboard-friendly breakout board is helpful for prototyping. Below is a schematic for one.

HDC1080It includes pullup resistors for the data and clock lines as well as a small bypass capacitor. I’ve uploaded the Eagle design files to GitHub.

Here is some sample code for the Particle Photon that reads the temperature and humidity every three seconds and publishes it to the cloud. There are also some lines commented out that will print the data to the serial port. Since Particle uses the same Wiring programming language as Arduino, you can port this code with only minor changes.

const uint8_t setupCommand[] = {0x02, 0x10, 0x00};
const uint8_t HDC1080_ADDRESS = 0x40; // The I2C address of the HDC1080 is 1000000

void setup() {
  Wire.begin(); // Defaults to 100kHz
  Serial.begin(9600);
}

void loop() {
  // Program to measure temp and humidity with 14 bit resolution
  Wire.beginTransmission(HDC1080_ADDRESS);
  Wire.write(setupCommand, 3);
  Wire.endTransmission();
  
  // Trigger humidity/temp measurement
  Wire.beginTransmission(HDC1080_ADDRESS);
  Wire.write(0x00);
  Wire.endTransmission();
  
  // Allow the conversion to complete
  delay(20);
  
  Wire.requestFrom(HDC1080_ADDRESS, 4);
  float celsius, fahrenheit, humidity;
  if (Wire.available()) {
      // Temp
      int rawTemp = Wire.read() << 8;
      rawTemp = rawTemp | Wire.read();
      // (rawTemp / 2^16) * 165 - 40
      celsius = ((float)rawTemp / (2 << 15)) * 165 - 40;
      fahrenheit = 1.8 * celsius + 32;
    //   Serial.printlnf("temp: %.1f", temp);
  }
  if (Wire.available()) {
      int rawHumidity = Wire.read() << 8;
      rawHumidity = rawHumidity | Wire.read();
      // rawHumidity / 2^16
      humidity = ((float)rawHumidity / (2 << 15)) * 100;
    //   Serial.printlnf("humidity: %.2f", humidity);
  }
  String data = String::format("%.2f°C, %.2f°F, Humidity: %.2f%%", celsius, fahrenheit, humidity);
  Particle.publish("temperature", data);

  delay(3000);
}

 

8 Comments

  • StephenLycle October 23, 2026 at 6:40 pm

    Reading through this post gave me a lot of good food for thought, and I am definitely going to bookmark this page so I can come back and review these key points again when I have a little more free time later.

    СИАЛИС НА ПРОДАЖУ ЗДЕСЬ

  • ShaneRains October 23, 2026 at 11:58 am

    Your ability to take this information and present it in such an objective and clear format is greatly appreciated, and I will be sure to recommend this specific page to anyone else who might be searching for similar insights.

    Porr på svenska

  • Earnestwed October 15, 2026 at 10:13 pm

    This post creates a pleasant atmosphere for discussion thanks to its clear structure and respectful conversational style.

    Watch sexual porno video xxx sex adults site

  • IsmaelmAf October 15, 2026 at 4:18 am

    The overall structure and pacing of this post make it very enjoyable to read, because the discussion stays clearly arranged, fair, and interesting while still feeling easy to understand for different readers online.

    best online casino canada real money

  • Gichardpyday October 12, 2026 at 2:26 am

    It takes a lot of effort to synthesize this much information into a single post. I want to applaud you for doing so in a way that feels completely clear and very easy to follow.

    Fastest payout online casino

  • Gichardpyday October 10, 2026 at 11:00 am

    What stands out here is how smoothly the discussion flows from one point to another, because the post stays engaging and easy to follow without feeling unnecessarily difficult for readers to follow closely.

    online casinos nz

  • Stephenwaish September 22, 2026 at 3:29 am

    I normally don’t share URLs in comments, but today I thought it was worth it. While browsing some pages recently, I found tokenaud — and it really impressed me. The layout is clean, the content is well-researched, and it all opens quickly. I’ve since then kept it and intend to return in the future. When you’re curious about the same kind of material, my advice is give it a look — you probably won’t be disappointed.

  • Capybara June 26, 2025 at 9:06 pm

    https://qrcode-capybara.online/ welcome!

    The capybara will be happy if you like the service 🙂

  • Leave a Reply

    I accept the Privacy Policy

    ×