You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martin Kompf 05004cbac0
Avoid error when no data is available
4 years ago
arduino_sketch Simplified low pass filter 4 years ago
www unique filename for cached images 7 years ago
.gitignore Website added 7 years ago
LICENSE README and LICENSE added 7 years ago README updated 7 years ago Utility to receive raw data values from Arduino and print them to stdout 4 years ago Website added 7 years ago Avoid error when no data is available 4 years ago Ensure that trigger mode is set 4 years ago
wairc.service systemd unit file added 4 years ago


Monitor a water meter with Arduino and infrared light sensor to capture counter value and consumption of water.

Water meter with infrared light barrier

The software consists of two parts:

  • Data acquisition part running on an Arduino Pro Mini. It controls the infrared light barrier, detects trigger levels and communicates with the Raspberry Pi over serial connection.
  • Data recording part running on a the Raspberry Pi. It retrieves the data from the Arduino over serial port and stores counter and consumption values into a round robin database.

There is a blog in german language that explains use case and function: Infrarot Lichtschranke mit Arduino und Raspberry Pi zum Auslesen des Wasserzählers.

Commands from host (RasPi) to Arduino

  • D - retrieve and print raw data
  • T - enter trigger mode and print trigger data (0/1)
  • S low high - Set trigger levels (e.g. 85 90)
  • C - Cancel data acquisition and enter command mode

Arduino is in trigger mode upon start - Send C to enter command mode