Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Program to monitor the consumption of gas used for heating in a household .


  • Gas counter with a rotating magnet
  • Digital 3 axis magnetometer HMC5883L
  • Raspberry Pi Model A or B
  • Python 2.7

Gas counter with magnetometer HMC5883 breakout

This program uses the 3 axis magnetometer HMC5883 to read the magnetic induction which is produced by a gas counter. The gas counter contains a small magnet that is attached to a rotating counter ring. Each rotation of the counter ring means a consumption of 0.01 m³ gas. The magnetic induction produced by the rotating magnet is read with the magnetometer that is connected to the I²C bus of a Raspberry Pi.

The program monitors that magnetic induction and every time it detects a rotation of the magnet it writes the actual counter and consumption values into a round robin database.


./ -h

Create rrd databases:

./ -c

Store values of magnetic induction into mag.rrd:

./ -m

Normal operation:



The sub-directory www contains an example to produce a single web page to visualize daily, weekly, monthly, and yearly charts of consumption.

Consumption of gas recorded over 24 hours


Copyright 2014 Martin Kompf

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see


Program to monitor the consumption of gas used for heating in a household.




No releases published
You can’t perform that action at this time.