Skip to content

Add a Grow Controller

This stage is optional. If your fans are on smart plugs, GrowRig can already switch them on and off — you can skip straight to first run. Add a Grow Controller when you want the next level of control.

A smart plug can only turn a fan fully on or fully off. A Grow Controller lets GrowRig set a fan’s speed — anywhere from a gentle idle to full exhaust — so it can hold your target temperature precisely and quietly, ramping up only as much as it needs. It’s what the control loop actually adjusts.

Just as important, the Controller is where GrowRig’s safety lives closest to the hardware: it keeps your fans at a safe speed even if it loses contact with the Hub, and reacts to an emergency over-temperature on its own. See Safety & security.

A Grow Controller is a small ESP32 board running open ESPHome firmware, mounted near your tent. The reference design exposes:

  • two independently controllable PWM fan channels, each with tachometer (RPM) feedback, and
  • optionally an onboard temperature & humidity sensor.

It’s a supported device like any other — browse Supported devices → Controllers for the current board profiles.

The Controller reaches GrowRig through Home Assistant, the same as every other device:

Grow Controller → ESPHome native API → Home Assistant → Grow Core

Once flashed, the board’s fan channels and sensors appear in Home Assistant as entities, and GrowRig drives the fans from there. (A direct MQTT path that keeps working while Home Assistant restarts is also part of the design — see Architecture.)

Controller setup is the most hands-on — and fastest-moving — part of GrowRig. Today it’s a DIY, ESPHome-based flow:

  1. Build the reference controller (an ESP32 with PWM fan outputs and tachometer inputs).
  2. Flash it with the GrowRig ESPHome package and provision it onto your Wi-Fi.
  3. Add it to Home Assistant via the ESPHome integration — its fan channels and any sensors show up as entities.
  4. In first run, assign each channel a role (exhaust, circulation, …) just like any other device.

Hardware in place? Head to First run to assign roles, set your targets, and start automating.