Skip to content

v1.8.5 - Fix ESP32-C3 fan PWM and tachometer issues

Choose a tag to compare

@martijnrenkema martijnrenkema released this 13 Jan 12:50

ESP32-C3 Pinout Fix

This release fixes the fan PWM and tachometer issues on ESP32-C3 SuperMini boards.

Problem

  • Fan was running slowly/weakly regardless of PWM setting
  • Tachometer was reporting extremely high RPM values (noise)

Root Cause

  • GPIO5 (previous FAN_PWM) is an ADC2 pin which has interference when WiFi is active on ESP32
  • GPIO6 (previous FAN_TACHO) is JTAG MTCK which was picking up noise

Solution

Moved fan control to ADC1 pins which don't conflict with WiFi:

Function Old Pin New Pin Reason
Fan PWM GPIO5 GPIO3 ADC1, no WiFi interference
Fan Tacho GPIO6 GPIO4 ADC1, clean interrupt support

Soldering Changes Required

If you have an ESP32-C3 SuperMini with the old wiring, you need to re-solder:

Blue wire (PWM)   → GPIO3  (was GPIO5)
Yellow wire (Tacho) → GPIO4  (was GPIO6)

Other Changes

  • Added Arduino-ESP32 v3.x LEDC API compatibility

Full ESP32-C3 SuperMini Pinout

GPIO Function Description
GPIO3 Fan PWM Speed control (ADC1, safe)
GPIO4 Fan Tacho RPM feedback (ADC1, interrupt)
GPIO10 LED WS2812 RGB LED
GPIO0 SW2 Connect button
GPIO1 SW1 Cold reset button