An overview of the system

A general overview of the system

Having decided to go ahead and build a home-brew system the first step was to decide exactly what I was hoping to achieve beyond the high-level term optimizing. I’ve made a list of the tasks I would like the system to perform and some of the outcomes I want the system to achieve:

  1. It has to be cheap to build. As well as the obvious saving money outcome, I am hoping to demonstrate that anyone can build their own system and it will cost less than spending several hundred dollars per component on off the shelf kit. I am also hoping where commercial equipment does need to be bought e.g. a second pellet stove, the devices we choose are the best value for money (more on this later)
  2. It needs to dump data somewhere I can retrieve it. I want to be able to review the temperature data and re-use it within the system. Having an average temperature for August and one for February and being able to compare these would be useful for example.
  3. It needs to be self optimizing to a point. Using various algorithms and the above stored data, the system needs to be able to switch devices in the house on/off based upon a set of criteria such as: cost, performance, temperature, and in the case of a pellet stove, whether the stove is empty or not (for example if we are out and the stove runs out of pellets, what does the system use as a fail over?).
  4. The system should be controlled via some sort of app that can be run on a PC, Mac and Linux/Unix device. This should include both mobile/tablet and regular devices. For example If I want to up the temperature in my home office whilst I’m at the supermarket, ready for when I get home, I should be able to do this via my iphone.
  5. The device should be networkable, this can include both wi-fi and wired options.
  6. The system should be safe and secure. Both from software perspective i.e. adequate network security and from a hardware safety perspective i.e. the home-brew thermostat isn’t going to fall off the wall.
  7. It should save money on our electricity bill.
  8. It should be extensible. If I wish to zone the system so that it draws its power from say a solar source, some other renewable or from a generator if the power goes out, switching over should be easy. If I wish to add more thermostats, pellets stoves, A/C or software apps this should be easy.

This allows me to break down the development stage into separate components and evaluate what technology I currently have, and what I will need to build and code the system. It also provides a list of criteria on what the system should achieve, so I can check along the way that each stage of development is hitting a goal.

My next step is to take stock of what I currently have and what I am going to need on both the hardware and software front.

Welcome to Intelligent Heating – a journey through home-brew heating


This blog will detail my journey through building an intelligent home heating system. Using free and open source software such as: FreeBSD, Python, PostgreSQL and HTSQL, open source hardware such as: Arduino and Raspberry Pi and  a host of other cool additions (including components printed on a MakerBot 3D printer) I am going to overhaul my heating system and blog the progress along the way.

Some background

We currently heat most of our house using a pellet stove. A pellet stove basically burns compressed wood or biomass pellets (in Italy sometimes olive pits) to create a source of heating for your home. A couple of tons of pellets will last us all winter and normally costs between $400 – $600 depending on type and supplier.


In February 2012 our pellet stove stopped working. When we spotted a problem with it, we consulted the user manual, took the side off and cleaned the whole stove out including the fan, but this didn’t have any effect, so we called out the repair guy. Unfortunately it was going to take a couple of weeks until he could get to us so we had to fall back on the old baseboard heaters that came fitted when we bought the house.

Old base board heaters

Old base board heaters

Throughout the house we had the thermostats set on the baseboard heaters for around 60 degrees F which supplemented the heat from the pellet stove. After receiving our first winter electricity bill, we decided to cut down on the use of the heaters to keep costs low. However once the pellet stove broke we had little choice but to use the baseboard heaters to keep the house warm, and we soon found out this had costs us a small fortune.

These things are possibly one of the most inefficient means of heating a house. This we discovered after receiving a $600 electricity bill from the UI company for a single month… ouch.

For those of you not aware, Connecticut has some of the highest electricity rates in the country. The 2008 OLR report placed CT in the number 2 spot when it comes to electricity costs. Coupled with the tropical storm Irene last year and the freak October snow-storm CT residents were not only dealing with high kWh costs but also periods of blackouts running into the days due to the damage caused by falling trees.

The combined cost of electricity and lack of service at points led me to investigate, how could we power and monitor our heating systems at minimal cost whilst optimizing our electricity usage and room temperature?

I hope to answer the above questions with this blog, and if lucky be able to demonstrate a cheap and cool way of doing it.