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 and Pull-down 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).
  • Simple MODBUS master implementation (reading sensors).
  • Some environmental sensors (DS18B20, BMP280, BME280, DHT 11, DHT 22, DHT 12, AM2301, Sonoff SI7021, MHZ19, SenseAir S8, Sensirion SPS30, SI7021 (I2C), CCS811).
  • BH1750 (Ambient Light Sensor).
  • PZEM-004T (Energy Monitor Sensor)INA219 (DC Voltage/Current Sensor), INA3221 (3-channel DC Voltage/Current Sensor), ACS712, ACS758 (Current Sensors)
  • Pulse generator.
  • Pulse counter (infinite, resettable, interval).
  • PWM (hardware, up to 128 kHz).
  • PWM (software, up to 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 :-)!

Changelog

The detailed changelog is placed on a separate page.


Comments
Harvey Specter
Posted at 22:37 January 14, 2021
Raymond
Reply
Author

Would it be possible to use this Firmware to flash it into a Gledopto LED-driver, which has a TI CC2530, and control RGB+CCT lights? so 5 channels? Gledopto’s has wierd bugs.

    Harvey Specter
    Posted at 03:30 January 15, 2021
    Owner
    Reply
    Author

    Sorry, but I didn’t test my firmware with this device. I don’t know how to configure firmware for it.

Harvey Specter
Posted at 15:28 January 14, 2021
Marco
Reply
Author

Hi,

I want to build a battery zigbee led strip device with this E18-MS1-PCB (http://www.ebyte.com/en/product-view-news.html?id=122).
This firmware could be set up for client device only, with max energy save mode setting (deep sleep) activated?

Thanks you

    Harvey Specter
    Posted at 03:31 January 15, 2021
    Owner
    Reply
    Author

    Hmm, a LED strip and power saving. Are you sure? Your LED strip will consume much more energy than CC2530. In any case, the firmware does not support power saving yet.

Harvey Specter
Posted at 22:07 January 12, 2021
Wojciech
Reply
Author

Would it be easy to add InfraRed (IR) receiver, for example to receive IR signal from IR sensor conected to CC2531. I would like to use it with Hob2Hood induction cooking plate.

    Harvey Specter
    Posted at 03:36 January 13, 2021
    Owner
    Reply
    Author

    Sorry, but I do not plan to add IR to the firmware. You can use an external Arduino board to decode an IR signal and send data through UART.

Harvey Specter
Posted at 21:01 January 8, 2021
Smartict
Reply
Author

With support for the new E18-MS1PA2 I double checked the old PCB Usermanual for the E18-MS1PA1 series. The E18-MS1PA1 already used the pins p1.0 and p1.1 and it had the same compiler directive for the HAL_PA_LNA directive. So with earlier versions of your tool i always used the board type CC2530 + CC2592 (as this is indeed under the hood in the older E18-MS1PA1). Would you suggest now to keep using this board type or would you suggest to move to the CC2530 + RFX2401 board type with the adjusted TXEN and RXEN setting to P11/P10 for the older E18-MS1PA1 type? Your suggestion is highly appreciated.

    Harvey Specter
    Posted at 03:57 January 11, 2021
    Owner
    Reply
    Author

    Leave CC2530 + CC2592 for MS1PA1. It is a proven and working solution.

Harvey Specter
Posted at 14:00 January 5, 2021
Gianpi
Reply
Author

Hello,
does the firmware is suitable to build battery-powered sensors?
Thanks

    Harvey Specter
    Posted at 06:17 January 7, 2021
    Owner
    Reply
    Author

    No, yet.

Harvey Specter
Posted at 16:32 December 22, 2020
David
Reply
Author

Hello,

I just bought 2 repeaters zigbee-cc2530+cc2592
thinking it was compatible with deconZ an could be extend my network.

When I start one it is not recognized by phoscom, dconZ through the graphic interface.

But after a while I can see the node in dconZ but no connections are created with my other zigbee components.

The stock firmware is zigbee-switch-configurable-firmware-v2-210

My config:
raspberry 3b+
deconZ raspbee
sensors door/window xiaomi

Do you have maybe an idea about that issue, please?

Thank you for your time.

Best regards,
David

    Harvey Specter
    Posted at 03:39 December 24, 2020
    Owner
    Reply
    Author

    Hi David. I’m sorry, but I cannot answer questions about the dconZ because I didn’t try it at all.
    If you can successfully pair a device with your network, new connections may appear after a while. It is not a fast process.

Harvey Specter
Posted at 20:30 December 5, 2020
galdaka
Reply
Author

Hi! I have flashed the CC2530 with the end_device firmware and added it to Home assistant.

I only need one ouput and I don’t know the default output pins of the firmware.

State_l1 in which PIN is assigned by default to turn on or off?

    Harvey Specter
    Posted at 06:54 December 6, 2020
    Owner
    Reply
    Author

    Hi! You can use any pin from P01-P6, P12-P17 as output. If you do not need other channels in HA, you may adjust your device configuration (in HA) and delete unused channels.

      Harvey Specter
      Posted at 09:35 December 6, 2020
      galdaka
      Reply
      Author

      Hi. Thank you for answering so quickly. None of the pins you refer to works for state_l1 when I send payload: “{\” state_l1 \ “: \” OFF \ “}” or payload: “{\” state_l1 \ “: \” ON \ “}” the voltage is always the same

        Harvey Specter
        Posted at 03:49 December 7, 2020
        Owner
        Reply
        Author

        Then you should show your full configuration. What pin did you configure as Output 1? Did you select the pull-up mode?

    Harvey Specter
    Posted at 11:07 January 5, 2021
    galdaka
    Reply
    Author

    I had everything working for a month.

    topic: zigbee2mqtt / Air Wick / l1 / set
    payload: “{\” trigger \ “: 1}”

    It no longer works in Home Assistant.

    PS: I don’t have the latest firmware on the CC2530

      Harvey Specter
      Posted at 06:17 January 7, 2021
      Owner
      Reply
      Author

      Hi. Are you sure that the 1ms interval is enough to get any feedback on your device?

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 Wojciech
Cancel Reply