Monitoring the central heating with an Arduino and two DS18B20 sensors

This post is part of a series on Arduino-based energy and climate monitoring.

About 40% of our energy bill is spent on electricity and 60% on gas, which we use to heat our house and for hot water. Although we do have a relatively recent HR central heating installation, I don’t think that it has been tweaked for efficiency. After reading this post on optimising the yield of the central heating installation, I decided it would be worthwhile to try and acquire some data.


I wired up a Arduino pro mini (3.3V) with a RFM12b and a pair of DS18B20 temperature sensors to measure the temperature of the outgoing and returning water of our central heating system.


Power is provided by connecting a rechargeable 18650 LiPo battery to VCC on the programming header of the Arduino. This battery provides nominally 3.7V, which in my experience is close enough for the board to work fine. The whole module is mounted in a battery holder for two 18650 batteries.

Every 66 seconds a temperature reading of both sensors is performed and transmitted it to the central relay module. The central module forwards it to ThingSpeak to acquire a long-term log of the behaviour of our central heating system.

You can find the sketch for the Arduino here.

4 thoughts on “Monitoring the central heating with an Arduino and two DS18B20 sensors

  1. Sara

    Can u share the PCB design for the same? I am trying to make a portable microclimate analysis module. And I am having trouble with designing the PCB. how to connect the battery to pro mini and the battery charger?

    1. Robert Post author

      I did not design my own PCB for this, just soldered a DS18B20 to an Arduino pro mini; there are plenty of online tutorials that explain how to do that. The battery is a 18650 LiPo, connected to the Vraw and GND pin of the Arduino.


Leave a Reply

Your email address will not be published. Required fields are marked *