This list of features becomes too long, and I’ve split it into several pages.
- Premium version
- Changelog
- General information (LEDs, pairing)
- Expert options
- Power saving mode or battery-powered devices
- Over-the-Air updates (OTA)
- RF signal level control
- GPIO inputs, outputs, and pull-ups
- Analog inputs (ADC), source voltage, an internal temperature
- UART
- PWM
- LED firmware (WS2812B, Color control)
- Pulse generator and counter
- Group switch
- Pulse switch
- Bistable relay / Latching relay
- External sensors
- 1-wire sensors: DHT11, DHT12, DHT22, AM2301.
- DS18B20 (1-wire temperature sensor).
- I2C sensors. General information.
- Environmental sensors (I2C-compatible): BMP280, BME280, SI7021, HTU21D, HDC1080, HDC2080, SHT20, SHT30, SHT35 (select SHT30 in the configurator), SHT40, SHTC3, GXHTC3, TMP102 and others.
- SCD40/41 CO2, temperature and humidity sensor.
- Ambient light (I2C-compatible): BH1750.
- Current and voltage monitoring (I2C-compatible): INA219, INA3221.
- Thermocouple sensors MAX31855 (SPI).
- MHZ19, Senseair S8, Sensirion SPS30 (connected to UART).
- PZEM-004 V3 (connected to UART).
- ACS712, ACS758.
- CCS811.
- MODBUS RTU.
- PCF8583: external counter.
- PCA9685: 16-channel PWM controller.
- HLW8032: VAC energy meter.
- Ultrasonic sensors HC-SR04, US-100 or similar.
- Digital rotary encoder.
- X9C102, X9C103, X9C104, X9C503 digitally controlled potentiometers.
- HX711 load cell/weight module.
- Real-time clock (RTC, DS3231, DS1307).
- Cron scheduler.
- E18-MS1PA2, E18-MS1PA2-IPX, E18-2G4Z27SI or E18-TBH-28 Test board.
- E72-2g4m20s1e
- Serial bootloader on CC2652 or CC1352. Flashing firmware through a COM port.
- CC2531 configurable router
- DIY examples

greg
do you have linux version of config?
Owner
Sorry, but no. But you can use it in the emulation mode or a virtual machine.
Roland
Hi, having a hand full of devices created using the SHTC3 temp and humidity sensor, I notice quite some ” noise” in the temperature readings. Wondering whether the SHTC3 driver uses the normal mode or the power safe mode as the latter has a significant lower repeatability.
BTW, self designed PCB using SHTC3, BMP280 and DS18B20 sensors all using PTVO. Working like a charm.
Owner
In the psm mode, the firmware executes a single shot measurement on the sensor. Maybe, it may affect repeatability.
JohnRob
Hi,
Your software is amazing. I’ve built some sensors for use with a Home Automation Hub, specifically a distance sensor. Works flawlessly.
This is a hobby for me. However if I was asked to build a few more of the distance sensor for some other Home Automation hobbyists what is the limitation for using your software (or the created HEX file)?
I find I sleep better at night if I’m sure I’m not doing something against the rules ๐
Thanks
John
Owner
Hi,
You might add a note that the firmware is based on PTVO :), or promote it in your community. Finally, you may purchase a premium version. It stimulates me to support and improve the firmware.
Pvl
Hi. Pls, add HX711.
Owner
Please add your request on Github. If other users will vote for it too, I’ll consider adding this sensor.
Darius
I mean to add the HX711 support
Owner
I collect votes for this feature on https://github.com/ptvoinfo/zigbee-configurable-firmware/issues
๐
Ernie
How to configure the INA 219 (i2c) in Firmware Configurator?
Owner
You should configure it as any other I2C sensor:
https://ptvo.info/zigbee-configurable-firmware-features/external-sensors/i2c-sensor/
YONG LEE
Hi,
Thanks for the great firmware for my testing purpose.
I’ve used the firmware for temperature reporting via UART communication between MCU and Zigbee module from EBYTE. It works well but after some hours,,, the Zigbee module stops working…??
The UART message is “{“action”:{“PipeNo”:0,”Temperature”:21.44},”linkquality”:109,”state_l1″:”OFF”}”
How can I solve this issue?
Should I use Premium version for stable operation?
Owner
You do not need the Premium version for your configuration. It is unclear to me why your module stops. Do you have a status led? Does it report anything?
YONG LEE
Yes, I have a flash button with LED and status LED as well.
on normal operation status, press the flash button on the associated LED on/off toggle.
status LED blinks at a minute interval.
but at the stopped status non of the LED operation stops as well.
what should I check for this?
Owner
Could you add the “Uptime” sensor to your device? It should increment, and it means that the device works correctly. In any case, I would prefer an opened issue on Github. It is more comfortable to discuss this problem.
dimos
Hi,
I am trying to create a reed switch (door sensor). I have added the sensor to p12 and GND and on software i configured Input 1 P12 GPIO Pull-up and Linked to out 1 checked.
All the other optios empty.
I have succeffully paired it but i cannot see the sensor status anywhere.
Am i missing something ?
Thanks
Dimos
Anatoly
Basic question from first time user. In you firmware configurator there are choices: router, end device without routing, 16 channels, PSM.
Will it work as router AND end device in router configuration?
Owner
The router firmware implements a router device. It cannot work as an end device. All other options work as an end device.
Anatoly
Thank you
Walt
neither in premium version? my folks would like that a lot
Owner
Some functions cannot live together in one device.
Alex
Thank you so much for your reply.
Is it possible to set a mathematical function that the analog input values can be adapted?
Owner
IMHO, math functions are out of scope of an IOT device. You can always make the necessary calculation at the higher level.
Alex
Thank you so much for your reply.
Is it also possible to add a mathematical function which changes analog input data in a certain way?
Peter Molnar
Dear PTVO,
I’d like to reprise a former question: support for a display.
I’ve been looking for a battery powered “thermostat” that would send an on/off signal when setpoint temperatures are reached, but this seems to be a rather rare thing. Most on the market are out of stock, and even when they are available, they are disturbingly pricy.
It’d need is a temperature sensor (although adding humidity and luminance would make it an even nicer device), a rotary encoder, and a small display, along with two internal variables ( either setpoint and hysteresis or low and a high setpoint) that can be changed locally or remotely via zigbee. It would need to run on battery power.
The display only needs to be on when the temperature changed, but an oldschool, non-lightened LCD can last years on battery, therefore it shouldn’t be a problem.
I’d be happy to help and/or pay for the existence of such an option within your firmware, if it’s a possibility.
Owner
It should be a fully separate device, as I did it for LED. Unfortunately, I don’t have too much time to do it.
Alex
I have a question about a cc2530 chip and analog input. First of all is it possible to use a PT100 sensor with an analog input? If it is possible will it work in PSM mode? Is it also possible to use this sensor with Z-Stack_3.0.x?
Owner
1. Sorry, but I don’t know this sensor.
2. Analog input works in PSM.
3. The firmware for CC2530 uses ZStack 1.2. If you need ZStack 3, you can use cc2652.
anatoly
Assuming PT100 is platinum resistance thermometer (PRT), I don’t think that you can connect it directly to analog input, you may want to build simple conditioning circuit (constant current source and differential amplifier) to convert out put into an acceptable voltage range.
Owner
Yes, correct.
Roberto
Hi, congratulation for the nice and useful work.
One question:
is the mt-interface supported, in particular in the router device-type? If yes, how can i enable it? That could be very useful for me.
My device is a Sonoff 3.0 USB Dongle Plus equipped with a CC2652P chip.
Thank you in advance for the clarifications.
Owner
No, the MT interface is not supported (it is excluded at all).
dimos
Hi,
Very nice job…..
Does it support reed switch ? for handling door open /close ?
If not , can you add support for reed switch also ? (For extra charge of-course)
Regards
Owner
Hi. Is is a simple GPIO input with pull-up, and yes, the firmware supports it.
Gabriel
Hi. Question about firmware features. Are the “devices” Bindable? ie: Using one device as Switch (On_OFF) to turn On/OFF another device as a Light? I was trying to do that using ZHA (on HA) capability but it didnยดt work. Is it a Premium Features or am I doing something wrong on
Owner
Yes, my firmware supports binding. It is the free feature.
JohnRob
Would you consider implementing the interface for a MAX31855? This is an I2C thermocouple interface.
Thanks
John
Owner
I am sorry but the firmware does not work with the SPI interface yet.
Nirm
I didn’t find a button to make a comment on page HLW8032. Is it disabled?
Owner
Thank you! I’ve enabled comments on that page too.
JohnRob
Just a simple note saying Thank you for your great utility/firmware. I used the UART capability on a CC2530 board. The Zigbee message is received by a Hubitat Hub. A simple driver was all that was needed to parse the UART message.
Works Great!
Thanks
Owner
Thank you! ๐
JohnRob
I have a simple configuration for a SHT30 temperature humidity sensor. See below:
I am receiving messages from this device every 1 second or so. I’m not sure where to start troubleshooting.
I don’t know if it helps but the raw message is: Raw Description#read attr – raw: 59A901000C265500391F85AF416F0018B71C004204432C3434, dni: 59A9, endpoint: 01, cluster: 000C, size: 26, attrId: 0055, encoding: 39, command: 0A, value: 1F85AF416F0018B71C004204432C3434
I’m using a Hubitat Hub which and worked great with a BME280 sensor with your firmware.
Any troubleshooting suggestions would be appreciated.
Thanks
John
Board type: CC2530
Device type: Router
Status LED: P12 (Inversed), Sending reports
Set default reporting interval (s): 60
Output pins:
P13: Output 1, SHT30 (I2C SDA), External pull-up (Address (dec): 68)
P14: Output 2, I2C SCL, External pull-up
Owner
Please try to enable the “Disable configuring the interval remotely” option on the Expert tab.
JohnRob
Hi, I tried checking “disable configuring the interval remotely” with the same bad results, Messages were coming at < 1 second intervals. I had been using V1.6.2.3.
I then tried V1.6.0.2 and the responses were correct. Messages at 60 second intervals.
Also, the Zigbee parsing was more complete on the v1.6.0.2 message making me think the message structure was different.
I'm good for now. However I can give you additional information if you want to do further investigation.
BTW the version numbers quoted are from Windows … file/properities/details.
BR
John
Owner
Could you please add your issue on GitHub and add screenshots with your configuration and additional information that I can check on my side?
Nobodyman
Could you please explain which Zigbee stack version your software supports if using CC2530 device.
Thank you very much!
Owner
ZStack 1.2
JohnRob
Have you had any thoughts about adding support for an I2C display? Or perhaps an I2C “repeater”, although I’m not sure how this would work.
Thanks
John
Owner
I didn’t plan to add support for displays because it is a universal solution.
Giovanni
Hi, do you think it would be possible to add Wiegand support to your firmware? It would be very useful to build zigbee Wiegand id tag readers
Owner
Hi, sorry I didn’t plan to add the Wiegand interface.
Ken
Hi
Is it possible to configure a dimmer switch, so the device model is a ptvo.dimmer?
Reason for asking, is that a controller is identifying the device type and assigning correct device handler / driver setup for the device.
Owner
Yes, you can specify any model ID.
Ken
Do you have any examples for dimmer configuration?
Owner
It depends on your hardware. Usually, it is the PWM output.
Ken
So if you have a zigbee dimmer, where 2 inputs are connected to buttons for up and down, and an PWM output for controlling the light.
Long press on up increase value, short click go too maximum.
Long press on down decrease value, short click turn out light (go to minimum).
Do you have a configuration example for that ๐
Owner
You can link only one button to an output. The button will change the light level circularly.
Ilya Rakhlin
Do you happen to have any experience or examples of getting any builds of your firmware working in ZHA (home assistant ZHA). All is working well with the z2m converter but I have a few friends I was hoping to use for beta testing a device who are on ZHA. I’ve previously written a few z2m converters but have very little experience with ZHA quirks. As I start to play around with it I just wanted to see if you had any examples or samples I could use as a jumping off point. Would be especially helpful if it uses the TemperatureMeasurementCluster or Humidity.
Thank you
Owner
Sorry, but I don’t have examples for ZHA.
Tube
What are the child and route table sizes for the cc2652?
Owner
The child table was compiled with the following key value:
MAX_DEVICE_TABLE_ENTRIES=50
Philip
Hello any chance to integrate HX711 Load Cell Amplifier to sensor list?
Owner
Hello, Sorry, but I didn’t plan to add this sensor.
Ilya Rakhlin
Just curious about sensor compatibility, I understand you may not have tested these but do you know if there are any reasons why the HDC2XXX line of sensors would work (https://www.ti.com/product/HDC1080 listed under similar on this page). According to a TI forum post they are firmware identical, https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/861532/hdc2010-technical-differences-among-hdc2080-hdc2010-hdc1080
In that same line of questions, SHT30 is listed as supported, it would seem the SHT31 and SHT35 are also firmware identical and differences are around accuracy, voltage, ect. I understand they may not be tested but is there any reason they would not work? With the current shortage of parts sometimes it easier to be flexible.
Owner
Yes, I cannot test all sensors and check compatibility. Maybe, other sensors will work.
Ilya Rakhlin
Just wanted to come back and say I finally got some cc2652p chips delivered and was able to test SHT35 (https://media.digikey.com/pdf/Data%20Sheets/Sensirion%20PDFs/HT_DS_SHT3x_DIS.pdf). Works without issue, seems to be reporting expected values.
Owner
Thank you for sharing your results :)!
Paul
Description of Zigbee2MQTT-Commands need a note on the required Zigbee2MQTT version. In Zigbee2MQTT 1.17.0 a new API was introduced. Using the format of the current documented commands will not work with Zigbee2MQTT versions >1.16. It would be helpful to get a hint about this circumstance.
Owner
I use v1.18 and these commands work. Could you please describe the format in your case?
Paul
The following zigbee2mqtt command is working fine in version 1.12.
-t zigbee2mqtt/garage/l3/set -m {\”trigger\”:800}
after upgrading to version 1.22. it’s no longer working. I played a bit with the new command syntax e.q -t zigbee2mqtt/garage/set -m {\”state_l3\”:800} but without success. So what is the correct format to initiate a trigger?
Shonn
The problem report:
I have an old power plug with a cc2530(external 32.00MHZ oscillator) and FM24C02C eeprom. Sometimes the plug cannot boot, the led keep the dim light state(the normal state is off or light).
I try to fix this problem with the configure of cc2530(without oscillator).