Zigbee Gas Counter

Hello everyone,

I’m excited to share a project I’ve been working on: Zigbee Gas Meter.

This is a fully open-source solution for gas metering using Zigbee, designed to integrate seamlessly with Home Assistant. The project addresses several challenges in creating a reliable and efficient gas metering device, and it’s now mature enough to be shared with the community.

While the “counter” functionality is fully implemented and operational, there are still some pending decisions, such as finalizing the best power solution for the unit (e.g., using a LiPo battery or a CR123A battery).

I welcome contributions from other developers who are interested in improving or expanding the project. Your feedback and ideas are also greatly appreciated!

Feel free to check out the GitHub repository for more details.

Looking forward to hearing your thoughts!

Best regards,

Ignacio

5 Likes

Looks interesting, I’ll keep an eye on it :slight_smile:

My gas meter looks like this, though:

Where do you think I have a decent chance of picking up the magnetic pulse?

You need to find the documentation about your counter.

Mine is a BK-G6M from Honeywell and I was able to find that information there.

Good luck!

Been trying to find documentation but failed so far.
I just thought there is kind of a common or most likely spot where I would be able to pick up the magnet’s rotation.

I’ll keep searching, though.

Hey, nice project I’m willing to test it/compare it to my initial modification of the door sensor
I use a “AA” size 3.7V Feo4 in my project and it keeps the gas sensor happy for about 1 year in a -10 celcius winters.(only charge it to 3.3V there is a 18650 version of the Feo4 battery i manly use it because of the convenient 3,7V max voltage anything else it will require an stepdown.

1 Like

Hi everyone,

I’d like to ask for some advice regarding the power consumption of a Zigbee-based device I’m developing and explore possible solutions to optimize battery life.

Device Behavior:

The device normally operates in deep sleep mode and wakes up under the following conditions:

• When the magnet sensor detects a status change (counter wheel).

• When the user presses the main button.

• When the internal RTC triggers after one hour of sleep.

Upon waking, the device initializes the Zigbee radio, connects to the network, sends a report with the current values, and waits for 2 minutes of inactivity before returning to deep sleep. I’m currently adjusting the logic to activate the radio only once per hour, but this alone doesn’t seem to address the issues I’m encountering.

Power Consumption Measurements:

• I’m powering the device with an external 3.3V supply (no DC-DC converter or LiPo battery yet, so actual battery consumption might vary).

• I’m using the Nordic Power Profiler Kit II for measurement, which I just received and is proving very useful.

Here’s what I’ve observed:

Zigbee radio active: 78.5 mA

Deep sleep mode: 3.85 mA

Based on these figures, even in the best-case scenario (sending readings 24 times a day), the device consumes around 152.12 mA/day. With a 5,000 mAh battery, this translates to roughly 32 days of operation—or potentially less.

However, according to the ESP32-C6-WROOM-1 datasheet, deep sleep current should be around 7 µA. Yet, my measurements on the ESP32-C6_DEVKIT-1, powered from the 3.3V pin, show 3.85 mA—which is about 550 times higher than expected!

Clearly, there’s significant room for improvement, and I’d love to hear your thoughts. Has anyone faced similar challenges or found effective ways to optimize power consumption in similar setups?

Thanks in advance for any suggestions!

1 Like

I’m going to reply my own question. Just removing the J5 pin in the DEVKIT the consumption under deep sleep mode falls down to 8.45 uA which is a decent value according with the data sheet.

So, moving forward to implement battery measurement and dc-dc conversion.

1 Like