Firmware and hardwareWorksSource available
Target: Zehnder ComfoAir Q450/Q600

Reversed Zehnder ComfoAir Q450/Q600 CAN bus protocol to implement custom ESP32 control firmware

Platform
ESP32
Outcome
Works

Evidence at a glance

Loading source evidence…

What was done

This project provides ESPHome firmware for Zehnder ComfoAir Q450/Q600 units, enabling custom control behaviors like damper management and humidity-triggered fan boosts via the ComfoNet CAN bus.

The Zehnder Q controls project provides ESPHome firmware designed to interface with Zehnder ComfoAir Q450 and Q600 ventilation units via the ComfoNet CAN bus. The author reverse-engineered CAN and PDO data from live captures to implement two primary control systems: UC1, which manages free-cooling dampers by outputting 0-10 V signals based on fan levels, and UC2, which forces a timed fan boost when the unit reports humidity-based overruling. The implementation uses AtomS3 and AtomS3R hardware, with specific configurations for each board type. Claude Sonnet 5.5 co-authored the development, including the creation of maintenance rules in CLAUDE.md and documentation updates. The firmware includes safety features such as default-off WiFi, which can be enabled via a physical button press for service mode. The project also provides a bench test utility to validate DAC performance and hardware wiring. Detailed documentation is available at https://raw.githubusercontent.com/rodwilliams/zehnder-q-controls/HEAD/README.md.

Reproduce it

setup

Clone the repository with submodules, copy secrets.example.yaml to secrets.yaml, and use ESPHome 2025.7.5 to compile the desired top-level YAML file (e.g., HumidityBoost.yaml).

Community

Ask a question, share what worked, or follow the next milestone.

Your library