May 10, 2026
Description
The board is the product. This case is a thank you to the 3D printing community - print it yourself instead of buying the Nylon-SLS version.
🛒 Get the board:
💾 Firmware & Docs (Open Source):
https://github.com/zeroflow/esphome-fancontroller
The WiFi Fan Controller drives up to 4× 12V PWM fans (4-pin, standard PC/server fans) with RPM feedback. Built around the ESP32-S2, flashed with ESPHome for native Home Assistant integration. Ideal for:
Server rack / homelab cooling
3D printer enclosure ventilation
AV cabinet / media console fans
Grow tents, fermentation chambers, reptile enclosures
Any project needing silent, temperature-controlled airflow
Key specs: 12V DC input • 4× PWM + tacho • HDC1080 temp/humidity onboard • RGB status LEDs • Qwiic + I²C expansion • USB-C • 0.25 W idle
MMU version - lettering as separate color (multi-material printers)
Single-color version - lettering debossed
Material: Any (PLA, PETG, ASA work fine)Print Settings:
Layer height: 0.2mm recommended, otherwise defaults
Orientation: Rotate top case so the lettered face sits on the buildplate. This gives crisper lettering than printing it as the top layer.
For MMU/multi-color: Because the lettering is now layer 1, it must be assigned to print first. PrusaSlicer prints filaments in slot order (lowest slot first), so assign your lettering filament to a lower slot than the case filament. Alternative: keep your slicer assignment and remap slots on the printer via the filament assignment screen before starting the print.
M3 Heat-Set-Inserts - any length (3mm - 5.7mm) works
M3 SHCS bolts, 8 mm - 6mm to 14 mm also fine
Saves you $19. Takes ~1.5h print time. Uses <30g filament.
License:
Creative Commons — Attribution — Share Alike
8