This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Not sure if I am converting the humidity value correctly from the HDC1008

Other Parts Discussed in Thread: HDC1008, HDC1050, HDC1080, HDC1000

I'm trying to read the humidity value from the HDC1008. I have it hooked up to a USB to I2C converter that lets me send commands to the device.

  1. The default value of the config register (address 0x02) on boot is 0x1000. If I read the value back, it appears to be correct.
  2. I write the pointer value to the device to (0x00 for temperature).
  3. Then I read back 4 bytes from the device, and I get something like 0x61F817BC
    1. This means the temperature value is 0x61F8 = (25080 decimal)
    2. The humidity value is 0x17BC = (6076 decimal).
  4. According to my calculations (in decimal), the temperature seems accurate (25080 / (2^16)) * 165 - 40 = 23.14 C, which is what my office is.

But here is where my problem happens. Calculating the relative humidity, I get (6076/ (2^16)) * 100 = 9.27 %. My hygrometer in my office says it is 28 % humidity.

The same issue seems to happen if I change the config register to do one measurement at a time, read the humidity value alone, etc. I've also tried using multiple different HDC1008, and they all seem to be right around 10% humidity (when it should be closer to 30).


I seem to think that the values are being read correctly, because the last two bits are always zero (since it is a 14 bit measurement). But If I change the config register to do an 8-bit humidity measurement it is weird because I expect the lowest byte to just be 0, but I only get the lowest 6 bits to be 0.

Does anyone know if I am doing something wrong? Either calculations or I2C commands?

  • When I breath on the sensor, the temperature stabilizes, but I can get the relative humidity over 90 %. I'm starting to wonder if my office is unreasonably dry, and that the humidity meter I was using is not working correctly. But then I found another meter and it was saying 20 % relative humidity, but the TI sensors are saying 5.79 % and 6.18 %. My coworker has a high accuracy hygrometer that he will bring in tomorrow, so I will update at that point.

  • There's several of us that have not-so-correct values read from HDC100x (several threads).

    It will be interesting to see if yours is correct, or if you're seeing is an error too.

    See for instance.

  • Thanks for the reply. I'm actually starting to wonder if there is some PCB assembly problem/variation. I found some our older prototype boards (same P/N sensor), and those humidity readings are coming back much closer than on the newer production board samples. The original prototypes were built by hand. I asked my assembly house to look through the "Dos and Don'ts" and make sure they haven't use a board wash or anything like that. Still waiting to hear back.
  • Yes, I'm holding back recommending this sensor for my project at the moment since I really don't know if I can trust it - at least not until I figured out what has happened to my prototype.

    To me it seems like they haven't been calibrated or lost their calibration at some point.

  • Hi ASG123 and Pontus

    As noted in their datasheets, devices HDC1000YPAR, HDC1000YPAT, HDC1008YPAR, HDC1008YPAT, HDC1050DMBR, and HDC1050DMBT may exhibit RH measurement shift. As described in the datasheet section 9.3.2, the RH sensing element goes through a settling process with exposure to time, temperature and humidity. Material before 1527 could settle to an offset of +15%. The typical accuracy (RHACC) range for these devices remains unchanged and not guaranteed. We have recently reduced the potential measurement shift through electrically adjusting these materials and are offering to exchange newer devices (datecode 1527 or after) for older devices (datecode before 1527).

    Options for materials:

    • Datecode before 1527

    - Account for RH measurement shift in system performance, or

    - Material can be returned to TI for replacement

    • Datecode 1527 or after

    - To accelerate the settling process after soldering, refer to the datasheet for recommended hydration (85C, 85RH, 12hr) per section 9.3.2.

    TI will be introducing the HDC1080 replacement option which does not exhibit this settling behavior and does not require rehydration. The HDC1080 is a drop-in replacement for the HDC1050 and is software- and function-compatible with the HDC1000, HDC1008, and HDC1050.

    Regards

    Massimo