Automatic litter boxes are great until you realise the app and cloud servers sit between you and your own pet hardware. Joseph DiGiovanni has released a custom ESPHome component for the Litter Robot 3 that cuts Whisker's app and cloud service out of the loop entirely, giving full local control through Home Assistant. The stated goal is freeing these boxes from the cloud, and one practical motivation was triggering a robot vacuum after each use without any online service involved.
The path to a finished component is worth reading about. Serial hexadecimal traffic was captured during normal operation and app use, then fed to a language model to decode the protocol. A simple YAML prototype with a test button and a status sensor was flashed first, and once that confirmed a button could start a clean cycle, the final firmware was written as a dedicated C++ external component for ESPHome. A replacement mainboard bought online was used for early testing, which seems like a sensible way to avoid bricking the real one.
Architecturally, the ESP32 acts as a WiFi-to-UART bridge relaying commands to the mainboard microcontroller, while all hardware control and safety-critical logic stay on that separate chip. Community feedback also shaped the feature set, adding multi-cat visit counts and weight tracking for individual cats, and a hidden debug mode publishes live raw sensor data in the ESPHome debug logs.
One open question remains: it is unconfirmed whether the Litter Robot 3 can be flashed without soldering, and a wireless method from the stock firmware is still being tested. Support for the Litter Robot 5 is planned too, though not yet available. The code, a flashing guide, and the earlier Litter Robot 4 work are all hosted on Codeberg, alongside pre-compiled binaries and hardware installation instructions.
Project by Joseph DiGiovanni. Watch it on their YouTube channel: