The One Thermostat Problem

In our home, located in Central Florida, we get huge electric bills for air conditioning and often I get complaints that it is too hot or too cold in the different rooms. Every month I was getting tired of writing these large checks to pay for the AC and still not feeling comfortable. Worse we have people gone during the day and we are cooling empty rooms. Part of the problem is you have one thermostat usually centrally located it is supposed to control the whole house temperatures.   See video on this. 


One way to control this is by Zoning your home or business. Turn each area into a zone and control the heating and cooling into an individually controlled zone. So in the illustration there would be 7 zones with a thermostat and controller for each room or zone. So you can control each room and make it closer to what you want or even shut down an unused room.

DIY vs Commercial Products

When I first looked at zoning our 3000 sq. ft. home in Orlando, commercial estimates of zoning our house with 8-9 zones were around $15,000. Even that expensive solution did not meet all my criteria.

Being an electronic engineer and a robotics hobbyist and part of open source hardware movement, I started down the DIY route trying to get a solution that was closer to $100 a zone not $1,000-$2,000 a zone. I believe this problem is better solved by a community approach.

By zoning your house you can not only be comfortable but save 30% or more in your HVAC (heating, ventilation, and air conditioning) energy consumption. So taking this approach it not only allows you to help save the planet but allows you to be more comfortable in the process, a real win-win.

Open Source community

My vision is to create a community that we can build an open source hardware and software Climate Control units that will make our homes and businesses not only more comfortable but more cost effective.

I have already come a long way. Using XBees, I have developed the device you would put in each room to know the temperature that is battery operated. I developed the central processor using Arduinos that records the data from the remote sensors.

I hope the community can improve the design and move it along even better. I have the sensor kits available to DIY people so they can build their own. To join this community go to

XBee Remote Kit

As part of DIY Climate Control you must be able to control the temperature in each zone (room) therefore there must be a way to measure the temperature in each zone. When I first explored putting in temperature gages throughout the house I looked at running wires throughout the house connected to temperature sensors. But I realized this was both expensive and hard to run wires in an existing house.

In doing more research I came across the XBee module. It was perfect for this need, it runs on a mesh network which allows it to wirelessly talk to other XBee modules and digitally communicate data. Plus you can hook uptemperature ICs like the TMP36 without having to have extra parts. Better yet the XBee can be progra

mmed to go to sleep and thus save battery life that means this module can run on AAA batteries and needs no wires to communicate temperature readings. Better still you can program its various ports to read other devices or even turn on and off devices that are hooked to the module.

I built a kit that has a special PCB an attractive case (wife approved). If you are interested in this kit go here.

XBee communicating to Arduino

This is my prototype of the zoning system. The XBee temperature sensors communicate to the central Arduino Uno that makes all the decisions and controls the HVAC (heating, ventilation, and air conditioning) unit. There is a second Uno with a touch screen to show the readings, the two Unos communicate via I2C.

Libraries Used

See code at:

I want to thank all those who put libraries in the public domain, without such this project would not be possible.

EEPROM.h - David A. Mellis
XBee.h - Andrew Rapp
MemoryFree.h - Extended by Matthew Murdoch
SD.h – SparkFun
Wire.h - Nicholas Zambetti
RTClib.h – JeeLabs
Adafruit_GFX.h – Adafruit
Adafruit_TFTLCD.h – Adafruit
TouchScreen.h – Ladyada Adadfruit
SoftwareSerial.h – ladyada, Mikal Hart, Paul Stoffregen, Garrett Mace and Brett Hagman