These boards were designed for controlling EC fans that use USB-C connectors for PWM speed control. They are modifications of Kyle Gabriel's Mycodo fan control boards for TerraBloom EC fans, adapted to use USB-C connectors instead of audio connectors.
The boards provide voltage level shifting for safe use with Raspberry Pi GPIO pins or ESP32 pins, and support monitoring of tach signals (RPM) from compatible fans.
Three board variations are included (see README in Gerber folder for details):
| Board | Description |
|---|---|
Left — USB-C_Breakout_x_2.54 |
Gerber modified for offset transistor lead footprint (not as shown) |
Center — 2.54x2_Breadboard |
Short enough for jumpers on both ends |
Right — JST-PH_x_2.54 |
Designed for use with the 'xiwai' 4-pin cabinet mount USB-C cable (link below) |
All boards include 10V and GND pads for tapping into fan power if needed.
Note: Both transistors are 2N3904.
These fans use a USB-C style cable carrying PWM and tach signals — not USB data. The JST-PH board variant was specifically designed around the cabinet-mount cable linked below.
Amazon — USB-C Pigtail Extension Cable
Hole sizes for the above cable mount
The two photos below show the original setup using Kyle's boards with cabinet-mounted USB-C cables. The awkward wiring is exactly what motivated the JST-PH board redesign.
- Gerber files for all three board variations
- Schematic/GPIO header diagram
- Links to compatible parts
For a stand-alone ESP32/ESPHome fan control box, incorporating the circuitry used these boards, see the companion repository: EC Fan Control using ESP32, ESPHome and MQTT





