
Evidence at a glance
Loading source evidence…
What was done
A reverse-engineered BLE protocol and clean-room implementation for IRCA/Zoppas electric heaters, enabling control via custom Android apps or Home Assistant without vendor authentication.
The irca-ble-protocol project provides a reverse-engineered specification and clean-room implementation for the Bluetooth LE protocol used by IRCA/Zoppas electric heaters, such as the Olle series. The author documented the GATT map, 20-byte frame format, and opcode tables. A functional Android controller app was developed, featuring a debug screen for raw frame logging and command execution. The author reports that the heater firmware does not enforce authentication, allowing unbonded clients to read state and send commands. A known limitation is that the heater terminates idle links; while a 20-second status poll maintains connectivity, automatic recovery after a link drop is unreliable, and the author recommends a manual reconnect affordance. The project includes a Python library, CLI tools, and an Android app. Claude Opus 5 is credited as a co-author for contributions to the repository's documentation and implementation logic.
Reproduce it
Install the Android SDK build-tools and a JDK. Navigate to the androidapp/ directory and execute ./build.sh to compile the APK. For protocol testing, use the provided Python scripts in the scripts/ directory, such as scripts/test_protocol.py for offline assertions.
Community
Ask a question, share what worked, or follow the next milestone.