Arduino and the HH10D humidity sensor

Submitted bypatrik onTue, 2011-03-08 09:42

The HH10D is a relatively cheap humidity sensor that can be bought from Sparkfun. It has a capacity sensor on board, which is connected to a 555-based frequency generator. Thus the device gives a frequency out that depends on the humidity in the air. But this is not all. The device also has an I2C Eeprom, where a calibration value is stored. This is programmed at the factory, and only has to be read once. When you have the value, it can be hardcoded in the Arduino code (and put on a sticker on the HH10D).

To read this value out we use the Arduino I2C Eeprom functions .

Arduino pin 4 to SDA
Arduino pin 5 to SCL
Arduino 3V3 to Vdd
Arduino GND to Vss

Fout on the HH10D is not connected.

The I2C address of the HH10D is 'hardcoded', ie the Eeproms address lines are soldered to Vdd and ground on the circuit board.
This topic is very useful: Link.

Note: For Arduino 1.0 compability, in the readCalib routine, change every "Wire.send()" and "Wire.receive()" to "Wire.write()" and "".