10/17/24 - We created a new YAML for the ECB which allows selection of which sensor controls which fan at runtime when in automatic mode. It also adds Version 3 of the Webserver. ESPhome/ecb1.yaml
ESP32 based board for temperature monitoring/PWM fan control/addressable LED control in 3D printer enclosures, audio-visual racks, and computer/networking racks. This ESP32 board features, the powerful ESP-WROOM-32E module, with integrated WiFi and Bluetooth functionality (BR/EDR/BLE). The ESP32 is a chip designed with TSMC ultra-low power management technology. The proven ESP32-D0WD-V3 chip is located in the core of the developed module. This board has a USB-C interface for download of firmware and power during development. The board is flashed with an ESPHome image to allow immediate inclusion onto your WiFi network and OTA programming. It also has headers that allow use with conventional D1 Mini style daughter boards and is therefore pin compatible with most accessories. The board has a JST SH connector with I2C and selectable (3.3/5V) power and ground compatible with Adafruit's STEMMA QT/ Sparkfun Qwiic sensors. With optional JST SH to JST PH cable, it also supports STEMMA and Grove interfaces This board also has four Molex KK (PC fan style) that has one 5v driven output, one 5v tolerant input, in addition to fan (typ. 12v) power and ground for 4.5+ amps per connector and up to 10 amps for all four connectors. It also has two, 3-pin screw connector for one-wire devices, each with 3.3v power and ground. The ECB comes flashed with a fully functional ESPHome application which allows control of fans in either manual or automatic mode based on selection of the onboard AHT20 or attached Dallas sensors.
Please note that some fans especially older ones do not conform with the "Intel 4-Wire PWM Controller Fans" specification. These fans do not stop spinning with a PWM duty cycle of 0% but spin at their minimum RPM. Below is a list of some of these fans currently known to us:
A 3D printed enclosure is also available: https://www.tindie.com/products/29364/
DO NOT ATTEMPT TO POWER FANS FROM USB-C. Supplied power (5v-14V) to barrel connector needs to match the voltage of the PWM fan (or other device) you are driving. Board has an onboard self-resetting flex fuse rated at 12 amps.
To place on WiFi network use 2.4G phone to connect to "AVFAN1 Fallback Hotspot" with password "esphome1" ("trek6666" in some factory flashes). Once connected to your WiFi network, to access the webpage of the device browse to http://avfan1.local
Device is flashed with an exmaple ESPhome binary image that has manual control over fans and automatic control which can be enabled based the target temperature setting. Four temperature sensors control each of the four PWM fan connectors. Flashed binary image has "api:" disabled, MQTT enabled.
For customization, downlaod the example (flashed) code from https://github.com/ESP32andmore/ECB/blob/main/ESPhome/avfan1.yaml
Also update WiFi and MQTT server credentials as required.
Flash over USB or ethernet. To flash over USB use ESPhome Web Flasher https://web.esphome.io/ with the device powered and connected to your host machine.
For Dallas sensors (flash board with logger level: DEBUG), to get device ID follow Seach for them in the initial logger output when connected to the USB port using ESPhome Web Flasher.
For adding Wemos style boards (i.e., relay) with the case installed use the long (19mm) provided pins.
The ECB comes flashed with a fully functional ESPHome firmware which allows control of fans in either manual or automatic mode, and allows runtime selection of the onboard AHT20 or attached Dallas sensors. This firmware interfaces with Home Assistant's native interface or by MQTT. Use the application as is or customise the YAML source code for your specific needs. The firmware sports a webserver also allowing local control of the board shown below.
CONNECTOR | PIN1 | PIN2 |
---|---|---|
J1 | GND | IO26(OC) |
CONNECTOR | PIN1 | PIN2 | PIN3 |
---|---|---|---|
J2 | +3.3V | IO27 | GND |
J3 | +3.3V | IO27 | GND |
CONNECTOR | PIN1 | PIN2 | PIN3 | PIN4 |
---|---|---|---|---|
J4 | GND | PWR | IO33 | IO13 |
J5 | GND | PWR | IO34 | IO14 |
J6 | GND | PWR | IO35 | IO25 |
J7 | GND | PWR | IO39 | IO32 |
CONNECTOR | Center | Perimeter | |
---|---|---|---|
J9 | GND | +5-14V | GND |
CONNECTOR | PIN1 | PIN2 | PIN3 | PIN4 |
---|---|---|---|---|
J10 | GND | PWR | IO21/SDA/PDMDATA | IO22/SCL/PDMCLK |
CONNECTOR | PIN1 | PIN2 | PIN3 |
---|---|---|---|
J11 | +5V | J10.1 | +3.3V |
CONNECTOR | PIN1 | PIN2 | PIN3 | PIN4 | PIN5 | PIN6 | PIN7 | PIN8 |
---|---|---|---|---|---|---|---|---|
P1 | +5V | GND | IO16 | IO17 | IO21 | IO22 | RXD/IO03 | TXD/IO01 |
P2 | +3.3V | IO05 | IO23 | IO19 | IO18 | IO26 | IO36 | EN |
Ando Roots: https://www.printables.com/model/702072-1u-rack-fan-shelf