Arduino Based Whole Home Humidistat

Discussion in 'The Completed Projects Collection' started by bertz, Oct 29, 2017.

  1. bertz

    Thread Starter Active Member

    Nov 11, 2013
    I have a gas forced hot air furnace with an Aprilair 560 Humidifier. My winter Humidity was controlled by a Honeywell Humidistat. I could never figure out if the darned thing was working properly or not. The water solenoid was either on all the time or never came on depending on where we set the dial. How do you get feedback regarding the measured value of the humidity? My house was either too dry or too humid.

    So keeping my home at the right relative humidity (rH) was a challenge. I had a "whole house humidifier" installed when we purchased our home but it had a manual humidistat and nobody knew how to set it (we bought the house second hand). Since it can be 50°F one day and 20°F the next during the winter months, the rH level was a moving target. If we set it too high, condensation would develop on the windows and if left too long, mildew would form. If it was set too low we experienced dry skin and enough static electricity that you risked zapping the end of your finger when switching the lights on and off. In addition, I am an electronics hobbyist and static electricity is a killer of nice little ICs. When the manual humidistat bit the dust, I thought this would be the perfect opportunity for an Arduino project to automate our home’s relative Humidity.

    My solution was to design and build an Arduino based Humidistat that is keyed to the outside air temperature. It is powered by the furnace 28VAC on the Furnace’s circuit board that is active only during the heating cycle when the fan is on.

    The design details and parameters are as follows:
    • The 24-28 VAC will be converted to 5 VDC and will turn on and power the Arduino.
    • The ambient Humidity will be sampled by an AM2302 (DHT22) Temperature and Humidity Sensor.
    • The outdoor temperature is measured using a DS18B20 temperature sensor
    • The program sets the Relative Humidity set point based on the outside air temperature.
    • If the humidity drops below the set point a relay will be energized which will turn on the water solenoid to supply water to the humidifier.
    • The humidity will be sampled every 5 seconds to determine if the sampled humidity is higher than the set point.
    • If the water solenoid is energized there will be a two minute delay before the humidity is sampled again to avoid short cycling of the humidifier’s water valve solenoid.

    Please read the attached .pdf document for complete design and construction details for the humidistat. Also attached are the DipTrace files.

    Now that the heating season is upon us I have observed the operation of the humidistat and I am extremely pleased with the results.
    BR-549 likes this.
  2. Wendy


    Mar 24, 2008
    I see Gerber files. Whereis the code for th Arduino?Does one button control everything?
  3. bertz

    Thread Starter Active Member

    Nov 11, 2013
    The Arduino code is listed in the .pdf complete project description.
  4. Jeff Shepard

    New Member

    Oct 8, 2018
    Nice, thanks!