Humidity Monitoring on the Raspberry Pi

First published: 17th July 2013

I've been using DS18S20 temperature sensors to monitor a warehouse for years using a PIC microcontroller. However, after receiving my raspberry pi, I was asked about humidity monitoring. A few searches later, I had found quite a few different sensors at a range of prices:

Descriptionprice (HK$)Interface TypeManufacturer
CHS-MSS175.50voltageTDK
BASIC I2C-G709.90I2CDigipicco
HCH-1000-00131.90capacitiveHoneywell
HCH-1000-00232.60capacitiveHoneywell
HCZ-D5-A27.90impedanceMulticomp
HCZ-D5-B13.00impedanceMulticomp
HCZ-H8-A15.30impedanceMulticomp
HCZ-H8-B10.70impedanceMulticomp
HIH-4000-001191.90voltageHoneywell
HIH-4000-002191.90voltageHoneywell
HIH-4010-001159.00voltageHoneywell
HIH-4030-001101.70voltageHoneywell
HIH-4031-001130.30voltageHoneywell
HIH-5030-00150.20voltageHoneywell
HIH-6120-021-00139.90I2CHoneywell
HIH-3605 voltageHoneywell
DS1923663.001-WireDallas

(prices are for comparison only)

As I wanted to store the readings in a database, a digital input would be most convenient. As I already have a 1-wire bus for the RPi, the DS1923 is the obvious choice, until you notice the price and that it is a logging device, with an internal lithium battery, so it has a limited lifespan. Great for initialising, sealing into the environment to be recorded (a shipping container or cellar, perhaps) and retrieving weeks or months later, but not so good for continuous, live monitoring.

The capacitive and impedance devices are generally cheap, but the design of a cheap, reliable circuit to convert that to digital is a bit beyond my rudimentary electronics knowledge. That seemed to leave the HIH-6120-021-001 with its I2C interface. But then I found a useful article by Dan Awtrey that connects a HIH-3605 humidity sensor to a DS2438 1-wire device. Now (as you can see from the table above) I couldn't find a source for the HIH-3605, but surely the same method would work with any of Honeywell's voltage-output humidity sensors, if the voltages were within range?

I decided to try humidity sensing on the RPi using both the I2C bus and the 1-Wire bus.


Share