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.
Why a Controller
Section titled “Why a Controller”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.
What it is
Section titled “What it is”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.
How it connects
Section titled “How it connects”The Controller reaches GrowRig through Home Assistant, the same as every other device:
Grow Controller → ESPHome native API → Home Assistant → Grow CoreOnce 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.)
Setting one up today
Section titled “Setting one up today”Controller setup is the most hands-on — and fastest-moving — part of GrowRig. Today it’s a DIY, ESPHome-based flow:
- Build the reference controller (an ESP32 with PWM fan outputs and tachometer inputs).
- Flash it with the GrowRig ESPHome package and provision it onto your Wi-Fi.
- Add it to Home Assistant via the ESPHome integration — its fan channels and any sensors show up as entities.
- 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.