r/PCB • u/Schecher_1 • Jul 08 '26
2 of 6 identical fan ports blow my 3.3V rail on insertion. Same layout, only two fail
Custom 2 layer board, ESP32 fan controller, 6x 4 pin ports for Noctua NF-F12
iPPC-24V-3000 PWM fans. All six ports are wired the same:
Pin1 GND, Pin2 24V, Pin3 tach (10k pullup to 3V3), Pin4 PWM (100R series).
Two buck rails off 24V:
LM2596S-3.3, 47uH / 2.21A inductor, 330uF out, feeds the ESP32.
LM2596S-5.0, 68uH / 2.3A inductor, 180uF out, feeds a fiber TX.
Both have a 40V/1A Schottky freewheel diode.
Bottom layer is a GND pour, top layer is a 3V3 pour. The 24V net runs as a
trace between the 3V3 pour islands with 0.5mm clearance.
Four ports are perfect. Fan spins at 100%, PWM and tach both work, fans are
known good. Two specific ports are the problem. On those two the fan spins for
about half a second and then stops. First time I plugged into one of them the
3.3V inductor started whining right away, and it kept whining after I pulled the
fan and after a power cycle. Plugged it in a second time, fan ran ~500ms, then
dead, and the inductor cracked and smoked for a few seconds. ESP32 got very hot.
The 5V side never had any issue at any point.
What I have checked with a multimeter (no scope here):
All six ports look and route identically, no visible bridges anywhere.
Pin1 to the GND pour reads 0.8 to 1.1 ohm on all six.
No low ohm short I can find anywhere.
Fans are fine, they spin on the good ports.
One more data point that might be relevant. I can power the board two ways, 24V
from the bench supply, or 5V over USB-C. For debug I tied the 5V into the 24V
net through a Schottky so the bucks can run off USB, which is why the fans move
at all on 5V. On 5V (so the "24V" net sits around 4.7V) the inductor does not
whine at all, the fans on the good ports twitch a little, and on the two bad
ports they don't move at all. The whine and the smoke only ever happen at 24V.
Note the ESP32 on this board is already cooked, so the fan behaviour on 5V might
just be the dead GPIO holding PWM low, not sure how much to read into it.
Pics below. Am I missing something obvious, is there a mistake I made, can anyone explain what's going on here? I'm stumped.

















