Derby Makers

The heart of Derby's Maker community

Raspberry Pi Heating Control

NOTE: this article will be starting slim and expand as I get round to it. I hope the CMS doesn’t remove my formatting and links again…

Domestic heating control has seemed a bit primitive to me for a while now. Surely we should at least be able to set different temperatures for different rooms at different times of day, and only turn on the boiler when there’s a room that needs heating? Better would be quick controls to say everyone will be out until 10pm tonight so knock the temperature back a bit until then, or I’ll be away for a week so go to frost protection mode until I get back. Changing things remotely would be a bonus.

A few such systems are on the market, but they tend to be overly expensive and prone to vendor lock-in. A few recent developments made me think it was worth a try; eQ-3 released reasonably priced wireless programmable radiator valves, someone reverse engineered their control protocol, and the RaspberryPi finally became easily available.


It’s a well known small, cheap, low power computer that runs linux. The only thing that stopped me getting one before was the difficulty of supply. It’s great for this application as it needs little power, will happily sit unattended as a server, has GPIO pins available for sensor input and output, and has a hardware watchdog to make sure it keeps running. It’s also powerful enough to run one of several home automation servers available for linux. The lack of a real time clock is a drawback, but these can be added. As a bonus the Revision 2 board has an extra header with 4 GPIO pins, and mounting holes.

Radiator Valves

The eQ-3 MAX! system is pretty close to the system above, sensibly priced, but lacks a boiler control element. Luckily someone worked out exactly how they communicate, so we can add this capability and more besides. The radiator valves are £26 each, about half the nearest equivalent, and not much more than a non-wireless one. For control you can use their Cube, or one of the family of devices from whose open firmware recently gained support for the MAX! protocol. I picked the COC variant which fits the RaspberryPi header pins and includes a real time clock and 1-wire interface.


The best (only?) support for MAX! in open home control software is in FHEM, though in early 2013 it remains a moving target as development continues. It also supports a wide range of other protocols, so has potential for moving beyond the heating system in future. It is also relatively easy to extend, so controlling the GPIO on the RaspberryPi should be reasonably easy.

Comments are closed.