CoolMaker Lab, un taller de diseño en China, publicó el controlador de ventiladores PWM de 4 canales con ESP32, una placa de código abierto compatible con Home Assistant para manejar la refrigeración de racks de servidores, sistemas NAS, gabinetes de red y otros gabinetes armados a mano, informó CNX Software el 13 de noviembre. Controla hasta cuatro ventiladores PWM de 4 pines en forma independiente, con ajuste de velocidad por PWM, lectura de RPM por tacómetro y corte de energía individual para cada ventilador.

Admite hasta cuatro sensores de temperatura DS18B20 externos para ajustar la velocidad en forma automática. Trae además interfaz web, API REST por HTTP y función de proxy Bluetooth. La versión 2.0 del hardware y del firmware suma soporte opcional para el radar mmWave de 24 GHz LD2402G, pensado para automatizaciones según presencia.

Especificaciones del controlador

  • Microcontrolador. Módulo ESP32-WROOM-32-N4 con 4 MB de flash, WiFi de 2,4 GHz y Bluetooth LE (con proxy BLE).
  • Control de ventiladores. Cuatro conectores independientes para ventiladores PWM de 4 pines, con ajuste de velocidad de 1% a 100%. Cuatro entradas de tacómetro para medir las RPM. Interruptores de carga TPS22810DBVR que apagan cada ventilador por completo (operación a cero RPM). Ajuste automático de velocidad según la temperatura.
  • Sensores de temperatura. Conector de 3 pines para hasta cuatro sensores DS18B20 externos por 1-Wire (placa v2.0).
  • USB. Puerto USB tipo C con el conversor USB a serie CH340C, para programar y depurar.
  • Expansión. Conector de 4 pines (5 V, GND, GPIO4 y GPIO5). Soporte opcional para el radar mmWave de 24 GHz LD2402G por UART (placa v2.0 con el firmware compatible).
  • Alimentación. Entrada de 12 V por conector de barril (se recomiendan 12 V y 2 A o más). Conversor reductor TPS5430DDAR de 12 V a 5 V y regulador AMS1117-3.3 de 5 V a 3,3 V.
  • Dimensiones. Por confirmar.
El controlador de ventiladores PWM con ESP32 probado con un ventilador de 120 mm y una fuente de poder DC

¿Cómo apaga del todo un ventilador?

La placa usa señales de PWM y de tacómetro separadas para cada ventilador. Así ajusta cada velocidad por su cuenta mientras mide las RPM reales. Un controlador PWM básico solo baja la velocidad, y este corta la alimentación de cada ventilador con los interruptores de carga TPS22810DBVR cuando se apaga. Sirve en equipos que deben quedar en silencio mientras no necesitan refrigeración.

El firmware es ESPHome, que conecta la placa con Home Assistant. Desde ahí se encienden y apagan los ventiladores, se ajusta su velocidad, se miden las RPM y se arman automatizaciones. Para usarla sin Home Assistant tiene una interfaz web propia y una API REST por HTTP. Suma proxy Bluetooth, actualizaciones OTA y el soporte opcional del radar mmWave LD2402G para controlar los ventiladores según haya gente cerca.

Curva automática según la temperatura

Con el firmware DS18B20 de la versión 2.0, la placa lee hasta cuatro sensores de temperatura en un solo bus 1-Wire y asigna cada ventilador a un sensor distinto. La velocidad se ajusta sola. Por defecto, los ventiladores se apagan a 30 °C o menos y suben de a poco hasta la velocidad máxima configurada, que alcanzan a los 50 °C. Ambos límites se cambian, y el control automático corre localmente en el ESP32, sin depender de Home Assistant.

Panel con la temperatura del NAS, la velocidad del ventilador, la actividad de la red y el uso de recursos del sistema

En las capturas del proyecto se ve un panel con la temperatura del NAS, la velocidad del ventilador y la actividad de la red. También la interfaz de Home Assistant para manejar los cuatro ventiladores y configurar la curva por temperatura, con las RPM, los sensores y el estado del radar mmWave.

Archivos abiertos en GitHub

El proyecto es de código abierto completo. La documentación, los archivos de diseño de la PCB, los Gerber, la lista de materiales (BOM), los archivos STEP de la carcasa y las configuraciones de firmware para ESPHome están en GitHub. El repositorio incluye además versiones de firmware ya compiladas e instrucciones para integrar el controlador con Home Assistant, todo en chino y en inglés.

CNX Software recuerda que ha cubierto pocos controladores de ventiladores conectados. Uno es el ANAVI Fume Extractor, un equipo con ESP8266 que enciende un ventilador según la calidad del aire. El de CoolMaker Lab apunta a otro uso y maneja cuatro ventiladores independientes con lectura de RPM, corte de energía individual y automatización por temperatura.

¿Cuánto cuesta y qué alternativa hay?

El controlador se vende en Tindie a 28 dólares, sin envío. Sale desde China y el despacho parte en 5 dólares.

CNX Software encontró una alternativa comercial parecida, el ARCTIC Fan Controller, con 10 conectores PWM independientes. Funciona en Windows y en Linux (kernel 7.2 o superior), es compatible con el software abierto Libre Hardware Monitor y cuesta 10 dólares en Amazon. Toma el USB 2.0 del conector de la placa madre y la energía SATA de una fuente estándar, así que está pensado sobre todo para PC y servidores. No tiene conexión inalámbrica ni soporte para Home Assistant.

ControladorCanales PWMConexiónHome AssistantPrecio
CoolMaker Lab con ESP324WiFi y Bluetooth LESí, con ESPHome28 dólares más envío
ARCTIC Fan Controller10USB 2.0 internoNo10 dólares