element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi Projects
  • Products
  • Raspberry Pi
  • Raspberry Pi Projects
  • More
  • Cancel
Raspberry Pi Projects
Blog Raspberry Pi Central Heating Controller Project
  • Blog
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi Projects to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Matt
  • Date Created: 18 Apr 2016 12:03 PM Date Created
  • Views 4691 views
  • Likes 7 likes
  • Comments 8 comments
  • rpiintermediate
  • rpiprojects
  • raspberrypi2
  • raspberry_pi_projects
  • designchallenges
  • piot
Related
Recommended

Raspberry Pi Central Heating Controller Project

Matt
Matt
18 Apr 2016

I’m building a home automation project which connects a Raspberry Pi to control my central heating. I wasn’t particularly happy ripping out all the existing controls, and wanted to piggyback onto them.. which helps if the Pi ever fails (I’ve still got the old controls to fall back on).image

 

I also didn’t want to mess with the existing heating control board, so bought a duplicate unit (British Gas UP2) from eBay for about £12.. I can perfect the project on that, and install it when I’m ready.

 

This set of videos goes through each step of the project.. starting off with opening the control board, an overview of what I want to do, and testing out the changes.

 

Opening up the Control Panel

 

This was a bit tricky.. it wasn’t quite obvious which plastic clips needed pushing in to pull the board out.. if you were doing this on your actual panel (not an eBay-bought duplicate) then this video should help work out what you need to do to get into it without damaging anything.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Project Overview

 

Next up, I’ll quickly go over what I intend to do to piggyback onto the control board. There’s a project here which did exactly what I wanted to do. He’s not using a PiFace 2 like I intend to use, and he wants to be able to control the hot water as well, but everything else is the same.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Safety First – Masking off the High Voltage Area

 

In this second video, I’ll show how I’m masking off the high voltage area of the board to make it a bit safer when I’m testing things out. Obviously most of the time the board is off, but this helps keep things safer when it is on without the cover.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Identifying Solder Points

 

Luckily this blog gave me a good starting point, but it wasn’t clear where to get the status of the central heating.. I used a multimeter to find a spot which changed voltage when the system was on, and this diagram shows you what I found;

 

image

 

Soldering

 

Since I only needed 4 wires for this project (2 for the switch, and 2 for the system state), I took an old USB cable, cut the ends off, stripped the wires and soldered it to the board without much trouble.

 

image

 

Soldering Complete!

 

This shows the control board after the soldering has been completed.. it’s pretty simple soldering; the only tricky part was finding the points to connect to for the system state (on/off). I’ve stuck down some of the wires so that they don’t catch or get stuck underneath the control boards buttons.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Testing the Wiring

 

Now that I’ve done the soldering, I’m testing out the wiring.. seeing whether connecting the two wires for the switch turns the central heating on, and when it is on, whether we get voltage on the other two wires to indicate the system state.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Controlling from Software

 

I’ve now hooked it up to the Pi Face 2 board, which can be controlled with a few lines of Python to simulate a button press, and detect the state of the system. It wasn't strictly necessary to use a Pi Face 2.. I just happened to have one that I wanted to use in a project. One disadvantage of the Pi Face 2 was that it can't talk to a 1-wire temperature sensor, so I ended up soldering on a Pi Wingman to give me easy access to the unused GPIO pins.

 

image

 

image

 

With these basics in place, the rest of the control software can be written to do scheduling, bring in temperature readings, and allow the system to be controlled remotely.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Software Architecture

 

One of the early design decisions for the Raspberry Pi powered heating controller was to have the Pi secured behind a firewall without direct access to it from the Internet. What I decided to do was have a set of simple PHP web pages on a remote web host that you can access from anywhere, and the Pi control server talks to that web host to send/receive data.

 

What I didn’t want was for the Pi to run a web server that ends up getting compromised & having the run of my home network.

 

image

 

The Pi server and remote webspace need to be paired with an access key. Anyone accessing the remote site needs the correct access key to be able to control the system.. and the level of control is limited by the API we’ll put in place.. i.e. remote clients won’t have direct access to your internal network via an open port on your home router.

 

Of course, you could actually host the ‘remote’ part of this set up on your Pi and use port forwarding; the architecture allows for both types of access. The access key is still needed to control the system, but you’ll be more vulnerable to attacks on your Apache/PHP installation & need to keep up-to-date with software patches to help ensure your system is secure.

 

image

 

I've made a fair amount of progress on a relatively simple set of scripts + PHP that makes this possible.. this video shows how it looks so far. The control part isn't hooked up, but it is able to accept a command from the front-end and pass it to the back end scripts for actioning. The temperature logging is working nicely.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

  • Sign in to reply

Top Comments

  • gadget.iom
    gadget.iom over 10 years ago +3
    Nice article! Tempted to give this one a go myself. (I have a Towerchron QE1)
  • Matt
    Matt over 10 years ago in reply to Nate1616 +3
    Thanks for the offer of help Nate, much appreciated! What kind of system to you use for cooling? Cooling the house? Well in the UK that's called opening a window
  • mcb1
    mcb1 over 9 years ago +3
    Nice project. There are methods of improving your energy useage and surprisingly one is to reduce the temperature down while you are away ... NOT turn it off. We went down this road with my parents who…
  • Matt
    Matt over 10 years ago in reply to shabaz

    Thanks! What I'd like to do have programmable (or remote control) TRVs that turn radiators on/off more intelligently.. that's where I think you'd see a lot more in the way of cost savings.

     

    I do plan on putting the source on GitHub at some point. It was kinda hacked together because I got impatient and wanted to have it running quickly image

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • gadget.iom
    gadget.iom over 10 years ago

    Nice article! image

    Tempted to give this one a go myself. (I have a Towerchron QE1)

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 10 years ago

    Hi Matt,

     

    This looks great!!! It is easy to forget how powerful it is to have deep insight into things like temperature, energy, lighting in a home, and

    the daily historical records too. Otherwise we're throwing money out the door wasting energy.

    The potential for gas and electricity cost savings is huge I suspect, for example one smart control vendor claims a 10-12% saving on the heating bill. This is a 2012 article on the average home heating bill, at that time it was close to £600:

    Cost of heating a home rises by £230 in five years  - Telegraph  At the same rate (I couldn't find a more recent figure but I didn't look for very long) , that bill would be more than £900 (1300 USD) in 18 months from now.

     

    Also, the web app looks very cool, are you planning to publish it when it is complete? I have a feeling we could learn a lot from examining your code to see how the experts do it..

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube