General purpose low power Zigbee sensor?

Hi All,

I’m looking to put together a little anemometer (wind speed indicator) and I have just received the impeller I ordered and the next stage would be designing and printing a suitable housing to carry the impeller and any electronics.

Ideally I would like it to be battery powered (possibly solar enhanced) and so I wondered if anyone could think of a Zigbee based board, or device I could cannibalise that would be able to use to either transmit (to Home Assistant) the rotation pulses from a reed or opto switch etc?

Should make a nice addition to my other 91 Zigbee devices. :wink:

All ideas welcomed. :wink:

1 Like

There’s some good info in these topics:

https://community.home-assistant.io/search?q=diy+zigbee

I do not think that you can expect to cannibalise and reuse any existing Zigbee devices as the firmware will surely need to be custom built for your specific device. Instead you have to build it from scratch (i.e. using a microcontroller development board for prototyping) and then it depends how good your coding skills are as you would need to code and at least need learn a Zigbee SDK if choose to go build a Zigbee device instead of WiFi + IPv4 device. See these examples:

or just:

https://github.com/espressif/esp-zigbee-sdk

or

or

Alternativly if can add a larger power-source then look as ESPHome on an ESP32 with WiFi instead as that will currently be a lot easier, (though hopefully someone will add Zigbee support to ESPHome within a couple of years now that there as ESP32 chips like ESP32-H2 for Zigbee and Espressif has a Zigbee SDK for ESP32):

I was thinking there may be something that was designed to be powered up all the time (like a Zigbee lamp or smart socket), that might have an input that could be used to send the translated pulses to HA and still draw less power than an ESP8266/32? (I know people have used the boards out of a Zigbee Ikea lamp but I’m not sure it has an TX path like say the ‘override’ button of a WiFi smart socket)?

I’m no coder so that’s out the question (but thanks for the info that might be something my coder friends might take on). :wink:

I do keep looking to see if ESPHome is handling any Zigbee devices.

I may well be able to power this anemometer project on an ESP32 with a reasonably sized 12V LA battery, solar panel and buck converter.

Thanks for all your feedback

Stongly suggest that you instead check out ESPHome or Tasmota using a ESP32 development board:

Both ESPHome and Tasmota support most common sensors as well as having great support in Home Assistant and their own communities that can help you + loads of online guides on setting started.

Note that many Chinese ESP32 development boards are super cheap, but recommend that you consider maybe checking out either Espressif’s own DevKits (development kits) or “Arduino Nano ESP32” if want something that generally has better support and usually much higher build quality.

Other popular options are Adafruit and Sparkfun

Another good starter option is M5Stack series which comes with Groove connectors for mopdules:

That is not how Zigbee works, read GitHub - zigpy/zha-device-handlers: ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.

While it is true that people have re-purposed the EFR32MGxx based radio board out of many different IKEA Trådfri series products, but they then flash them with custom application firmware on them. They do not re-used and make use of the original firmware that it shipped with in any way. The only reason for some people doing so is that it can be less expensive than buying EFR32MGxx based development/evualuation boards, so it is only for cost savings, (or at least it used to be as today you can buy similar Zigbee radio boards for not much more).

If you are not a good programmer/coder then the above mentioned “PTVO Zigbee Configurable Firmware” is the currently only real option if you insist on using Zigbee today but it is relatively limiting to non-developers if there is not already support for the specific sensor component that you want to use.

By the way, a tip; search for existing “ESPHome weather station” projects and/or kits, see example:

1 Like

HI again and thanks again, it’s all very much appreciated

I am fairly familiar with the ESP8266/32 as I currently have 32 devices online, either smart sockets that I have re-flashed with ESPHome or straight dev boards, including a couple of the TTGO T-Display ESP32’s with one running as a CO2 sensor and the most recent, a 2 x freezer + 1 x fridge + 3 x Dallas temp sensors. I’ve also modded an Ikea particulate sensor into HA via an ESP8266.

I can often deal with the more straightforward code, dealing with sensors etc (often with a lot of copying and pasting from the net) and I have been helped a lot on the T-Display boards re the use of displays that change colour depending of the situation (freezer too cold = blue, good is green, a bit warm in yellow and panic in red). :wink:

But because I was aware of the power consumption of the ESP / WiFi compared with Zigbee and the durability of the MESH network and a fairly busy AP, I thought I’d just check if there was anything.

Seen the M5Stack but not got one as yet.

I already have outdoor temperature and humidity sensing (Sonoff SNZB-02)and home-brew lux and air pressure via an ESP32.

I also have ‘whole home’ power monitoring via Glow and pulse counting of my electric meter, again, using a ESP32 and thought that might make a good template for anemometer pulse counting and integration etc (2s updates).

I now have a couple of anemometer impellers (I tried 3FD printing some but it was cheaper / easier / better to buy) and can print / turn any mechanical parts needed to build the actual speed sensor, it’s just a batter re what to use to feed that into HA. As you say, it looks like an ESP of some sort is the 'easiest way, even if it’s not the best for power consumption,

I think there should be enough ideas from all those links to get me a working solution! :wink:

Cheers.

p.s. Is it just me re or is it really not clear what ptov ‘is’ clear from their home page? I mean, what does it actually do and how?

I think this is the nearest to a functional overview?

PTVO Zigbee Configurable Firmware is a Zigbee firmware builder GUI tool to make your own DIY Zigbee devices based on TI Z-Stack using either the newer CC2652/CC1352 or the older CC2530/CC253 (SoC/MCU series from Texas Instruments).

Its concept is at a high-level kind of similar ESPHome/Tasmota/ESPEasy/ESPurna though instead lets you make custom Zigbee devices based on Texas Instruments Zigbee chips, however you need to understand that with Zigbee devices you need to do most the custom configuration or at least add all available Zigbee clusters (and attributes) you need to command the device before you build and flash the firmware as you can not completly change the configuration after it is flashed like you can do with ESPHome/Tasmota and similar firmware for ESP32/ESP8266.

Also note that it the PTVO Zigbee Configurable Firmware tool itself proprietary and partially closed source so it is much more limited and you have to pay if you want use their premium version which unlocks some additional features/functions (which is needed if you want to create battery-powered DIY devices with effective power management):

You can use it to make your own Zigbee devices from scratch with a devlopment board, example:

or use it to just build/flash improved/enhanced custom firmware to existing devices, see example:

DIYRuZ has a few example DIY devices that uses firmware which been built with PTVO Zigbee firmware:

dzungpv/DNCKAT also have a few examoles:

“MODKAM” (Russian speaking) community also share many more custom Zigbee devices examples:

PTVO himself also provide a few prebuilt improved firmware builds for a few common basic devices:

That includes a popular configurable Zigbee Router firmware for CC2652/CC1352P2 based adapters:

Also check out

and

No, that is only about how-to flash an already compiled firmware binary and not how to acutally build a custom firmware from source + that it is old information that only covers the older CC2530 and CC2531.

When making Zigbee devices then flashing the firmware to chip the last step, as you first actually have to built and compile a firmware image or download a pre-compiled firmware image for a specific device.

To flash newer Texas Instruments based devices like those using CC2652/CC1352 you need to purchase a cJTAG (also known as c-JTAG or c/JTAG) compatible debugging probe (like J-Link V8 , J-Link V9, or XDS110) to flash firmware to most of these boards as TI’s newer generation chips use cJTAG as the default debug interface.

Thank you very much for your reply. There is loads to consider there!

I think it’s one of those things where I would actually need to do something before I actually got it.

In the meantime, say I wanted to use a suitable Zigbee Dev board to interface with a hall effect sensor connected to the mechanical output of a wind speed sensor, could I and would HA be able to use it?

I believe the answer is ‘yes’ as I think it could be similar to the implementation you linked here

I assume I would have to do some integration in HA to turn pulses per minute into miles per hour, something I might have onboarded on an ESP32 solution?

Yes you’re right. At least when using PTVO firmware, all math has to be done in the home Assistant sensors you define. This is a great project which has everyrhing you need for it:

PTVO does support a number of I2C sensors, using these is straight forward, the device will report e.g. temperature, humidity…
Most wind meters will use a reed switch. The PTVO firmware can count them and report that count.

If you’re happy with a device that constantly needs power and does basic things, temperature, humidity, pressure, wind Speed, rain and so on you’ll be fine with the free version.
As soon as it’s supposwd to be battery powered, you’ll need the power saving mode which is a premium feature. Also counting analog inputs does not work in power saving mode.
I did a variation of the above weather station using a LiIon cell and a small solar panel (which may be overkill), it does not give you real time information but averages over 1 minute intervals and does involve a bit of soldering, you can find it here:

Solar Powered Lithium Ion Capacitor Zigbee Sensor

Something that might give you some ideas.

These two projects are very much WIP and I’ve not mashed them together as yet. My ‘goal’ is a DIY wireless sensor that has very calendar life power source and is recharged via solar cells.

These lithium ion super capacitors fit the bill for the energy storage. They are at best half as power dense as a good quality lithium based cell, however to my ‘set and forget maintenance’ goal their charge cycle life appears to be up 10x that of a lithium cell.

I’m agnostic to wireless connection tech all of:

Zigbee
Bluetooth Low Energy Mesh
WiFi 6
Lora
Zwave LD
433 MHz

are good solutions, if you have the chops in coding low power in your chosen wireless device.

From my reading WiFi 6 is really not there yet, as I understand the based station code is not available in any base station I’ve found so far.

BLE and BLE mesh appear to be perhaps the most robust wireless solution in the 2.4 GHz spectrum for wireless sensors. Clearly, the three sub-gighertz designs have very good ‘conflict spectrum avoidance’ and power arguments. In weighing and ‘playing’ with all, I still prefer a Zigbee solution.

What appeals to me with the ESP32-C and ESP32-H chips is that they seem to be able to support low power operation via any of : WiFi6, Zigbee or BLE . It appears to have the most accessible SDK and IDE for DIYers.

I think the PTVO project is fantastic. I’ve coded up several Zigbee sensors using it. But as I said, the itch of a good accessible SDK and IDE is not ‘scratched’ here.

Good hunting!

I have used a modified Zigbee relay to make a button, not battery powered but runs from 12V DC.

https://community.home-assistant.io/t/diy-dc-zigbee-button-and-repeater-sort-of/562038