Firmware Updates
Your WiFi Fan Controller supports over-the-air (OTA) firmware updates through the ESPHome Dashboard in Home Assistant. USB reflashing is available as a fallback for recovery situations.
OTA Updates (Recommended)
Section titled “OTA Updates (Recommended)”OTA is the easiest way to update your fan controller. No cables needed — the update is pushed over your WiFi network.
-
Open the ESPHome Dashboard in Home Assistant (Settings > Add-ons > ESPHome)
-
Check for updates — your fan controller shows an “Update Available” badge when new firmware is available
-
Click Update to start the OTA flash. The firmware is uploaded wirelessly to the board.
-
Wait for reboot — the device reboots automatically with the new firmware (takes about 30 seconds)
-
Verify in Home Assistant that the device is online and all entities are working
USB Reflashing (Fallback / Recovery)
Section titled “USB Reflashing (Fallback / Recovery)”Use USB reflashing when OTA is not possible — for example if the device is unreachable, the firmware is corrupted, or the device won’t boot.
-
Disconnect the 12V power supply from the board
-
Connect the board via USB-C to your computer
-
Visit your hardware revision page and use the flash button to reflash the factory firmware:
-
Re-provision WiFi — after flashing factory firmware, the board needs WiFi credentials again via Improv Serial or the fallback hotspot
-
Re-adopt in Home Assistant — the device appears as a new device in the ESPHome Dashboard
Custom Firmware
Section titled “Custom Firmware”If you’ve customized your ESPHome YAML configuration, you can compile and flash your own firmware builds.
Via ESPHome Dashboard:
- Edit your device’s YAML config in the ESPHome Dashboard
- Click Install and choose Wirelessly (OTA) or Plug into this computer (USB)
- ESPHome compiles and flashes the custom firmware automatically
Via ESPHome CLI:
# Compile your custom configesphome compile my-fancontroller.yaml
# Flash over-the-airesphome upload my-fancontroller.yaml
# Or flash via USBesphome upload my-fancontroller.yaml --device /dev/ttyUSB0Custom firmware retains OTA capability, so future updates can still be pushed wirelessly.