Zigbee Configurable Firmware v2.5

The firmware allows creating a device with a easily configurable functionality including inputs, outputs, ADC, pulse counter/generator, I2C, external sensors.

Features overview

I’ve placed all features on the separate page. It is too long.

  • The status LED indicator works now.
  • The firmware supports up to 8 GPIO inputs or outputs.
  • The “switch” mode for inputs.
  • Pull-up, Pull-down, Tri-state options for inputs and outputs.
  • Analog inputs.
  • Internal temperature measurement.
  • Source voltage measurement.
  • UART (only text commands between an external device and a host, look at README.txt).
  • Some environmental sensors (DS18B20, BMP280, BME280, DHT 11, DHT 22, DHT 12, AM2301, Sonoff SI7021, MHZ19, SenseAir S8, Sensirion SPS30).
  • SI7021 (I2C), CCS811
  • PZEM-004T (Energy Monitor Sensor), BH1750 (Ambient Light Sensor), INA219 (DC Voltage/Current Sensor), INA3221 (3-channel DC Voltage/Current Sensor)
  • Pulse generator.
  • Pulse counter (infinite, resettable, interval).
  • PWM (hardware, up to 32 kHz).
  • PWM (software 3 kHz).
  • Bi-stable relay.
  • Watchdog timer.
  • Configurable default reporting interval.
  • Expert options (model ID, manufacturer info, network key, etc.).

Download

Download firmware

Your comments and bug reports are welcome :-)!

Updates

2020-11-09 Added a virtual group switch.
2020-10-29 Added firmware for end devices (without routing).
2020-10-18 Added support of Sensirion SPS30 (Particulate Matter Sensor), PZEM-004T (Energy Monitor Sensor), BH1750 (Ambient Light Sensor), INA219 (DC Voltage/Current Sensor), INA3221 (3-channel DC Voltage/Current Sensor).
2020-08-14 Fixed problem with unexpected behavior of the P14 pin when it is configured as a GPIO output.
2020-08-10 Added ACS712 sensor.
2020-07-10 Fixed problem with losing connection after power loss.
2020-06-26 Tested SI7021 & CCS811.
2020-06-24 Fixed problem with switch buttons linked to relays. Added the toggle mode for a switch input (works like Aqara).
2020-06-16 Improved hardware PWM (added frequency selection up to 32 kHz).
2020-05-26 Fixed interview problems in some configurations.
2020-05-21 Increased number of inputs to 8. Configurable TXEN and RXEN pins for the RFX2401 power amplifier. Ability to assign the DS18B20 sensor to an endpoint.
2020-05-03 Added the “Inverse” option for inputs and outputs. Added PWM.
2020-04-22 Fixed internal temperature measurement.
2020-04-20: Fixed problem with a pull-up/down mode. Added checks for pull-up/down settings in the configurator.
2020-04-19: Fixed problem with empty endpoints that may cause problems with joining. Fixed a bug with
2020-04-14: Fixed a problem with ADC


Comments
Harvey Specter
Posted at 15:46 November 27, 2020
Simon
Reply
Author

Hi, great site and thanks for posting your hard work for all to share. I was looking in your downloads and noticed that you haven’t posted a version of coordinator for CC2530 without an amplifier. I’ve found that the Z-Stack 1.2 won’t run on my basic board and was looking for alternatives and ended up on your site. Have you ever compiled and tested 1.2 coordinator against a plain CC2530?

    Harvey Specter
    Posted at 05:15 November 28, 2020
    Owner
    Reply
    Author

    Hello. The coordinator firmware for a simple CC2530 is useless. Therefore I didn’t make it.

Harvey Specter
Posted at 13:46 November 26, 2020
Yusuf
Reply
Author

Thank you for this great project, I hope you continue.

I have a question, do you have detailed information about battery consumption? I am thinking of designing some products with CR2032 batteries and I am thinking of meeting the software needs from this project. (Of course I am planning a high donation for this in order to remain ethical)

    Harvey Specter
    Posted at 03:38 November 27, 2020
    Owner
    Reply
    Author

    Currently, the firmware does not support the power-saving mode. I collect donations for this feature. Consumption: 26 mA in the active mode (measurements) or 0.4uA in the sleep mode.

Harvey Specter
Posted at 20:23 November 24, 2020
Jürgen
Reply
Author

Thank you for your amazing work! It’s making things so easy!
I have problems when using BMP280 with CC2530.
It reports the values only 2-4 times, then it doesn’t respond anymore until i reset the device. I tried different ports (e.g. same like in your documentation) , watchdog, etc but always the same result.
Do you have a hint?

    Harvey Specter
    Posted at 04:31 November 25, 2020
    Owner
    Reply
    Author

    Hello. Did you try EndDevice or Router firmware?

      Harvey Specter
      Posted at 22:34 November 25, 2020
      Jürgen
      Reply
      Author

      Your absolutely right, thanks! The End-Device firmware works like a charm with my E18-MS1-PCB.
      Is it a limitation or a bug?

        Harvey Specter
        Posted at 03:24 November 26, 2020
        Owner
        Reply
        Author

        I do not know :). Maybe, the router does not free resources for polling BME280 correctly.

          Harvey Specter
          Posted at 11:59 November 29, 2020
          Sergey
          Author

          hello.
          looking like similar problem with ACS712
          doesn’t respond after same minutes in router mode and work correctly in end-device mode…
          any chance to resolve that?

          Harvey Specter
          Posted at 06:09 November 30, 2020
          Owner
          Author

          I’m working on this problem.

Harvey Specter
Posted at 16:09 November 20, 2020
Maui
Reply
Author

Hey guys,
when I change from routing to Endpoint, is this some kind of Power Saving?
Has anyone of you tested this?

    Harvey Specter
    Posted at 06:23 November 21, 2020
    Owner
    Reply
    Author

    Hi. No. The firmware does not support power saving yet.

      Harvey Specter
      Posted at 18:44 November 25, 2020
      Verydarksheep
      Reply
      Author

      Hi! How much coffee would it take to support power saving? 🙂

        Harvey Specter
        Posted at 03:27 November 26, 2020
        Owner
        Reply
        Author

        Hi! Maybe, 10 liters of coffee :).

Harvey Specter
Posted at 18:12 November 18, 2020
Bennic
Reply
Author

Great configurator! Thank you for your work.
Bought you 3 coffee 🙂

    Harvey Specter
    Posted at 03:34 November 19, 2020
    Owner
    Reply
    Author

    Thank you 🙂

Harvey Specter
Posted at 17:38 November 11, 2020
Doublet
Reply
Author

I have connected 4 DS18B20 to port P15 on CC2530 (external pull-up) like you described with no ID per sensor. The 4 sensors are reporting values, but all on l1 in a random order.
Here is an example of one report via MQTT:
{“device_l1″:”28-CB-FE-E3-08-00-00-99″,”device_l2″:”AA-BB-CC-DD-EE-FF-01-02″,”device_l3″:”AA-BB-CC-DD-EE-FF-01-03″,”device_l4″:”AA-BB-CC-DD-EE-FF-01-04″,”l1″:18.875,”l2″:0,”l3″:0,”l4″:0,”l5″:26,”linkquality”:110,”temperature_l1″:18.9,”temperature_l2″:0,”temperature_l3″:0,”temperature_l4″:0,”temperature_l5″:26}

How can I get these 4 sensors to report separately on l1, l2, l3, l4 ?

Harvey Specter
Posted at 07:18 November 9, 2020
Dmitry
Reply
Author

Thank you very match for your amazing job. Hope you’ll continue and we’ll see control of addressable led one day.

Harvey Specter
Posted at 09:31 November 7, 2020
Dave
Reply
Author

Hello!

Would it be possible to use Z-Stack 3.0.x? According to this: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator it would support more direct children.

I already use quite a few DIY routers with your firmware and it works flawlessly. (Thanks!) One thing that I noticed is that every router has only 5 routes at maximum. I have a pretty large network and possibility to increase routes number per router is really tempting. I feel that I may lack some “bandwidth” as all my DIY routers are already at their limits.

Cheers!

    Harvey Specter
    Posted at 09:03 November 8, 2020
    Owner
    Reply
    Author

    Sorry, but I do not plan to use Z-Stack 3 for CC2530 and CC2531. I think ‘direct children’ are applicable for a coordinator only.

      Harvey Specter
      Posted at 11:40 November 10, 2020
      Dave
      Reply
      Author

      Ok, that’s fine. Thanks for such a quick reply! 🙂
      I’m not sure if ‘direct children’ are applicable to coordinator only. I just can’t tell because I use ConBee with deCONZ and see only 5 routes from DIY routers, routes for sensors are simply not shown in deCONZ.
      I will trust your knowledge cause I don’t have anything to back up my feeling 😉

      PS I’m looking forward to PSM! And thanks for recent update with “firmware for end devices (without routing)” – that will be much useful in some places.

      Harvey Specter
      Posted at 11:48 November 10, 2020
      Dave
      Reply
      Author

      PS I just wanted to donate, however I can’t do so via Yandex.
      It’s in Russian and I cannot change the language, and for some reason it does not accept my credit card. Please consider providing buymeacoffee.com or PayPal donation options. I will certainly back up your hard work 🙂

        Harvey Specter
        Posted at 12:22 November 10, 2020
        Owner
        Reply
        Author

        The page detects geolocation and shows the appropriate variant :-). Thank you for the info about buymeacoffee.com. I’ve added that button too.

          Harvey Specter
          Posted at 10:12 November 11, 2020
          Dave
          Author

          That’s great, thanks!

« Older Comments

Leave a Reply to Dave
Cancel Reply