Skip to the content
2 layers53 × 30 mmWatermeter zigbee, the printed circuit board in 3D

Watermeter zigbee

pifactory/watermeter12

Design files for making inductive sensor for reading out smart water meters.

Size
53 × 30 mm
Copper layers
2
Thickness
1.67 mm
Parts
11
Nets
30
Pads
64
Tracks, vias
81, 9
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
8 Nov 2021
Updated
14 Sep 2024

Overview

Watermeter zigbee is an open-source printed circuit board by pifactory, from the pifactory/watermeter repository on GitHub, published under the CC-BY-4.0 licence. It is a 2-layer board of 53 × 30 mm with 11 parts on 30 nets, routed with 81 tracks and 9 vias.

It is built around the E72-2G4M20S1E. Its parts include 3 connectors, 2 resistors, 2 switches, 1 capacitor and 1 IC. It belongs with the radio and wireless boards of this library.

Main components

1

README

README.md

Smart Water Meter Sensor

I sell on Tindie CC BY 4.0

Design files for making inductive sensor for reading out smart water meters.

Features

  • 20 μA in low-power mode (including microcontroller)
  • Small footprint: 18mm x 32.5 mm, can be placed directly on the water meter glass
  • Easy to use: inductive sensors are printed directly on the PCB
  • Designed for wheel diameter of 18mm
  • Includes 2 inductive sensors for reliable counting of the wheel turns

How Smart Water Meter works

Many water meters are made 'smart-ready', ie they include a wheel under the glass which makes 1 turn per liter. Half of the wheel contains some metal (copper) on it which can be sensed by an inductive sensor.

Because of the costs water supply companies usually do not install smart reading device on such meters, but some nerds among us are stubborn enough to design and install their own reading device. Just to know how much water is used and be able to monitor it with, say, a Home Assistant. It can be also used to detect leaks.

One inductive sensor is not enough for reliable readings. There are some corner cases when the sensor will miss a turn of the wheel or count 1 turn 2 times. Think of it like this: wheel can stop at any moment at any angle and then continue movement at any time later on. During this stop environment can change significantly (temperature & humidity) to fool the sensing circuit. On top of it, to save power, each inductive sensor is scanned once in 800ms, ie there is no continous output from it. All in all, 2 inductive sensors allow to detect illogical readings and in many cases repair them.

For now here is just the sensor, controller is coming soon... I've made one for Zigbee already and it runs on 2 AAA batteries.

Here is the photo of the first prototype:

How to use design files

I used KiCAD 6 to make the design. You will probably also want to install kicad-goodies libraries, but this is not required.

A word about choosing a PCB shop. Inductive sensors on the PCB require as much as possible turns on as little space possible. This means that the traces have to be as thin as possible and the spacing between them has to be as small as possible. Also there is no copper around them + geometry of the traces = you might get shorts between traces if you push it to the limit.

Most shops out there (including JLCPCB) claim to be able to produce 6 mils traces with 6 mils spacing between them. I work with AISLER and they produce 5/5 mils boards for the same price, so this design has 5/5 PCB coils. I've made 6/6 PCB coils available in kicad-goodies, you can try them if 5/5 coils will not work for you. AISLER will need just *.kicad_pcb file, no Gerber is needed there and therefore not provided in this repo.

Zigbee Microcontroller

This repo has all you need to make a Zigbee microcontroller for the sensor:

  • KiCAD 6 design files for the PCB (incl schematic)
  • Compiled firmware
  • Configuration file for Zigbee2MQTT

Microcontroller is based on EBYTE module with CC2652P.

Firmware has following features:

  • Low power, should work for years on 2 AAA batteries
  • Water usage data is buffered for 5 minutes
  • When parent connection is lost: try to rejoin every 5 minutes
  • Transmit power is set to 14dBm, this should be enough to get signal in challenging RF situations and yet to not use too much battery

Because of a bug in TI software, rejoin period cannot be longer than 5 minutes. Also rejoin uses more power than standard data report, so try to avoid situations when device stays on for longer periods without a connection to the network (like days, weeks, months)

Operation with 2 buttons and 1 LED:

  • Join new network: click BTN1
  • Leave network: press BTN1 for at least 10 seconds and release the button (long click)
  • Immediately send data (when part of the network): click BTN1
  • Rejoin (when parent is lost): click BTN1
  • RESET button restarts the device
  • LED blink once device (re-)joins Zigbee network

Zigbee2MQTT

Place provided pifactory_watermeter.js file in the same directory as configuration.yaml file.

Add these lines to configuration.yaml file:

yaml
external_converters:
    pifactory_watermeter.js

Restart Zigbee2MQTT and join the device

Holder

I've made a holder which fits my Elster water meter. Meter without sensor looks like this:

I didn't tried the holder on any other meter, but I suspect it fits different models as well. Please share your meters/holders or contact me if you need help fitting this sensor to your meter.


This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

Parts

11
QtyValueFootprintReferences
110kResistor_SMD:R_0805_2012MetricR2
11uFCapacitor_SMD:C_0402_1005MetricC1
14k7Resistor_SMD:R_0805_2012MetricR1
1BTN1Button_Switch_SMD:SW_SPST_EVQP2SW2
1BatteryBattery:BatteryHolder_Keystone_2468_2xAAAP2
1DebugConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalP3
1E72-2G4M20S1ERF_Module_Goodies:E72-2G4M20S1EU1
1GREENLED_SMD:LED_1206_3216MetricLED1
1RESETButton_Switch_SMD:SW_SPST_EVQP2SW1
1SensorConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalP1

The 10 most common of 11 parts.

More from pifactory/watermeter

1
  • 2 layers32.5 × 18 mmWatermeter sensor, the printed circuit board in 3D

    Watermeter sensor

    pifactory/watermeter

    Design files for making inductive sensor for reading out smart water meters.

    15 parts12CC-BY-4.0

Similar boards

  • 2 layers80 × 60 mmETH2Zigbee, the printed circuit board in 3D

    ETH2Zigbee

    acha666/ETH2Zigbee

    71 parts
  • 2 layers60 × 30 mmController, the printed circuit board in 3D

    Controller

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    11 parts3kApache-2.0
  • 2 layers103 × 30.5 mmTS Front Endcap, the printed circuit board in 3D

    TS Front Endcap

    EEVengers/ThunderScope

    ThunderScope GitHub Repo

    11 parts1.3kMIT
  • 2 layers26 × 30 mmExpansion Card, the printed circuit board in 3D

    Expansion Card

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    11 parts1.1kCC-BY-4.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    11 parts1kGPL-3.0
  • 2 layers10 × 20 mm2 connector Sensor Board, the printed circuit board in 3D

    2 connector Sensor Board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    11 parts915
  • 2 layersFet module, the printed circuit board in 3D

    Fet module

    ByteWelder/Decktility

    A handheld PC

    11 parts855CC-BY-SA-4.0
  • 2 layers47 × 33 mmSevensegment led display module, the printed circuit board in 3D

    Sevensegment led display module

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    11 parts803MIT

Questions

How big is the Watermeter zigbee PCB?

It measures 53 × 30 mm and has 2 copper layers, 1.67 mm thick.

What parts does the Watermeter zigbee use?

11 parts, built around the E72-2G4M20S1E. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Watermeter zigbee KiCad files?

From the pifactory/watermeter repository on GitHub, at the commit this page was made from: the board is pcbs/watermeter_zigbee/watermeter_zigbee.kicad_pcb and its schematic pcbs/watermeter_sensor/watermeter_sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Watermeter zigbee design in my own project?

Its repository publishes it under the CC-BY-4.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).