Another Honeywell Vista alarm panel external component with hardware UART and native 345 MHz RF via CC1101

About a year ago I started working on a native ESP-IDF based implementation of a Vista alarm panel component for ESPHome, primarily because Arduino v3 wasn’t well supported in ESPHome at the time and I wanted to leverage the plentiful hardware peripherals available on the ESP32 modules. The starting point was Dilbert66’s widely-used project — it’s excellent work and gave me a solid foundation for understanding the ECP protocol.

The project is detailed here: https://github.com/pletch/esphome-vistaECP-idf.

The most interesting thing I’ve added recently is optional support for a CC1101 sub-GHz transceiver module, which has allowed me to completely replace the 5881-ENL originally installed with my Vista-20P panel with a CC1101 transceiver enabling emulation of a 5881-ENH.

This gives me a few things I couldn’t easily do before:
The CC1101 directly captures transmissions from all the physical 5800-series sensors already enrolled in my panel. Because this is a direct over-the-air decode rather than waiting for the panel to process the packet and write zone status back onto the ECP bus, Home Assistant sees zone open/close events faster — which matters for automations like lights triggering on motion or door open events. The rf receiver emulation also enables virtual RF zones up to the full complement supported by the panel, so in my case I have added 15 software-defined zones tied to z-wave sensors from Home Assistant alongside my physical Honeywell hardware rf sensors without needing any additional receiver hardware.

The RF implementation uses the CC1101 in asynchronous serial mode with GDO0 outputting the raw demodulated OOK signal, which the ESP32’s RMT peripheral captures and decodes via a software Manchester decoder. I also designed and built a simple custom half-wave dipole antenna tuned for 345 MHz, which has given excellent signal reception.

Intrinsic support for standard Vista 15/20-series panels and legacy Vista SE panels is provided via a single configuration flag. It’s been a genuinely enjoyable project — I’ve learned a lot about the ECP protocol and got to dig into RF signal decoding, which was new territory for me.

If you have a Vista panel and fancy giving it a try, I’d welcome any feedback. Be aware the configuration is a little different from the original project if you have been using that. There are also some things not implemented from the original such as MQTT support etc. Happy to help if you run into any issues.

Here is my installation using a Lilygo T-Eth-Lite S3 and a cheap CC1101 from Amazon cobbled together on some perf board. The dipole antenna is visible on the right.

2 Likes