, , ,

Bringing Brewtools CAN sensors into Home Assistant

Posted by

Brewtools’ density meter and agitator are excellent pieces of equipment, but they’re designed to talk to Brewtools’ own system over a private CAN bus. We wanted to use them directly in Home Assistant — so we built a small open-source bridge that does exactly that.

The controller is built around an ESP32-C3 microcontroller and a CAN transceiver, powered from 24 V through a compact step-down converter. It connects to the same CAN bus as the Brewtools devices and translates their traffic. The firmware runs on ESPHome, so everything appears as standard entities in Home Assistant.

And that’s all it takes: the controller and the CAN devices are the entire setup — no Brewtools FCS module is required. (A Brewtools FCS is only needed if you want to update the firmware on the nodes themselves, which isn’t done during normal operation.)

In practice, that means:

  • Specific gravity (SG) and wort temperature streamed live from the density meter, with one-button calibration against a known reference
  • Full agitator control — on/off and PWM speed, with real RPM read back, and the state restored after a power loss
  • An RGB status LED for connection status, plus diagnostics such as uptime, signal strength and temperature

The core of the work was reverse-engineering the Brewtools CAN protocol — 1 Mbit/s, 29-bit identifiers — from Brewtools’ publicly available documentation. The electronics fit in a compact 3D-printed enclosure designed in SolidWorks.

The project is open source under the MIT license, with the full ESPHome configuration, wiring, STEP files and documentation on GitHub: 👉 https://github.com/lovekull76/brewtools-can-esphome

Brewtools offers several other CAN devices — pressure and level sensors among them — that aren’t covered yet. Contributions and forks adding support for them are very welcome.