Skip to content

Rev 3.x (3.1 / 3.2 / 3.3)

The Rev 3.x series is the latest generation of the WiFi Fan Controller. All 3.1, 3.2, and 3.3 boards share identical firmware and pinout — differences between sub-revisions are hardware-only improvements.

Key features over Rev 3.0: RGB status LEDs (SK6805) for board status and per-fan visual feedback.

Add this to your ESPHome config to import the hardware package for your board revision:

packages:
hardware:
url: https://github.com/zeroflow/wifi-fancontroller
ref: main
files: [hardware-rev-3.3.yaml]

ESP32-S2 WiFi Fan Controller Rev 3.3 PCB front - 4 PWM fan headers, HDC1080 sensor, RGB LEDs, Qwiic port ESP32-S2 WiFi Fan Controller Rev 3.3 PCB back - CE marking, SMD expansion pads

Rev 3.2

ESP32-S2 WiFi Fan Controller Rev 3.2 PCB front ESP32-S2 WiFi Fan Controller Rev 3.2 PCB back

Rev 3.1

ESP32-S2 WiFi Fan Controller Rev 3.1 PCB - first revision with per-fan RGB status LEDs

  • MCU: ESP32S2-Mini-2
  • Board platform: esp32-s2-saola-1
  • Power: DC Input (12V, 5.5x2.1mm)
  • Max total input current: 2.5A (set by the DC barrel jack — applies to the sum of all fans plus board electronics, not per fan header; size your 12V PSU accordingly)
  • Flashing: USB-C port
  • Fan outputs: 4x PWM headers with signal buffering
  • Status LEDs: SK6805 RGB LEDs for board status and each fan connector
  • Sensor: HDC1080 Temperature and Humidity
  • Buttons: Reset, Boot, 3x User
  • Expansion: QWIIC I2C, I2C port (100mil), NeoPixel port (5V, max 2A), SMD expansion header

Select your board revision and click the button to flash the factory firmware directly from your browser via USB.

This pin table applies to all Rev 3.1, 3.2, and 3.3 boards.

PinUsage
GPIO0Boot Button, Push to enter flashing mode
GPIO1RGB Status LEDs, SK6805 (5 LEDs, ESPHome uses WS2812 driver, GRB color order)
GPIO2Expansion Header (Bottom)
GPIO3Expansion Header (Bottom)
GPIO4Expansion Header (Bottom)
GPIO5Expansion Header (Bottom)
GPIO6Expansion Header (Bottom)
GPIO7Expansion Header (Bottom)
GPIO8Expansion Header (Bottom)
GPIO9Expansion Header (Bottom)
GPIO10Expansion Header (Bottom)
GPIO11Expansion Header (Bottom)
GPIO12Fan 1 PWM
GPIO13Fan 2 PWM
GPIO14Fan 3 PWM
GPIO15Fan 4 PWM
GPIO16Fan 1 Speed Sense
GPIO17Fan 2 Speed Sense
GPIO18Fan 3 Speed Sense
GPIO21Fan 4 Speed Sense
GPIO26unused
GPIO33I2C SDA
GPIO34I2C SCL
GPIO35I2C INT
GPIO36USR3
GPIO37USR2
GPIO38USR1
GPIO42Neopixel Expansion Port
GPIO43UART0 TX (U0TXD), Serial Flashing Header
GPIO44UART0 RX (U0RXD), Serial Flashing Header
GPIO45unused (strapping)
GPIO46unused (strapping)

In addition to the USB-C port, the board exposes the ESP32-S2 UART0 on a serial header for flashing and serial logs. This is the fallback path when USB-C is not detected (see the USB troubleshooting note above) and the channel ESPHome’s logger uses by default.

SignalPinDescription
3.3V3.3V
TXGPIO43UART0 transmit (U0TXD), board to host
RXGPIO44UART0 receive (U0RXD), host to board
GNDGNDCommon ground (required for serial)

Connect a 3.3V USB-to-serial adapter (TX to RX, RX to TX, GND to GND). To enter the bootloader for flashing, hold BOOT (GPIO0) while resetting the board.

The board offers an I2C extension port above Fan 4.

Nr.PinDescription
1GND
2INTGPIO 35
3SCLGPIO 34, 4.7k Pull-Up
4SDAGPIO 33, 4.7k Pull-Up
5+3V3

The board offers a Qwiic connector (standard JST-SH 4-pin, 1mm pitch) for solderless I2C expansion. It shares the same I2C bus as the 100mil I2C extension port and the onboard HDC1080 sensor, so addresses must not conflict across both ports.

Nr.PinDescription
1GNDBlack wire
2+3V3Red wire
3SDAGPIO 33, blue wire, 4.7k Pull-Up
4SCLGPIO 34, yellow wire, 4.7k Pull-Up

The board offers an SMD expansion port on the back.

Nr.PinDescription
1+3V3
2+5V
3I/OGPIO02
4I/OGPIO03
5I/OGPIO04
6I/OGPIO05
7I/OGPIO06
8I/OGPIO07
9I/OGPIO08
10I/OGPIO09
11I/OGPIO10
12I/OGPIO11
13GND
14GND

For all available examples, see the examples directory.

All Rev 3.1, 3.2, and 3.3 boards share identical firmware and pinout. The differences between sub-revisions are hardware-only improvements:

RevisionChanges
Rev 3.1Added RGB status LEDs (SK6805) for board + per-fan indication
Rev 3.2Improved USB-C fuse for better overcurrent protection
Rev 3.3Open-drain fan outputs, optimized component selection, enhanced power supply stability