Passer au contenu

Nous améliorons nos opérations pour mieux vous servir. Les commandes sont expédiées normalement depuis Laval, QC. Questions? Contactez-nous

Bitcoin accepté au paiement  |  Expédié depuis Laval, QC, Canada  |  Soutien expert depuis 2016

FAN_RPM_0 / PWM_0 Critical

Bitaxe – Fan Not Spinning / PWM Stuck at Zero

Bitaxe fan not spinning - AxeOS reports fan_rpm: 0 and fan_pwm: 0% (or stuck 100% not honoured). EMC2101 fan controller is not driving the PWM line; ASIC junction temp climbs to the 75 C self-protect threshold within minutes of hashing.

Critical — Immediate action required

Affected Models: Bitaxe Supra, Bitaxe Ultra, Bitaxe Gamma 601/602, Bitaxe GT, Bitaxe Hex (any Bitaxe variant using the EMC2101 fan controller for active cooling)

Symptoms

  • AxeOS dashboard shows `Fan RPM: 0` with `Fan PWM: 0%` (or stuck `100%` the fan is not honouring)
  • Fan is visually motionless, no humming, no twitch on boot - dead silent
  • ASIC temperature climbs from ambient past 55 C within 2-3 minutes of hashing
  • `Device Overheat` warning fires and AxeOS resets power / frequency / fan settings
  • Serial console shows `EMC2101: Failed to read fan speed` or `EMC2101 write failed` lines
  • Moving `Fan Speed` slider in AxeOS changes the UI number but nothing happens physically
  • Manual override to `100%` does not spin the fan even briefly
  • Multimeter at 2-pin fan header shows 0 V across V+ / GND under commanded spin
  • On GT / Hex 4-pin PWM fan: V+ rail present but PWM line stuck low at 0 V
  • Fan behaviour changed abruptly after a firmware upgrade (notably v2.0.4 per #66 or v2.4.2 per #599)
  • Finger-flicking the fan blade produces tach pulses - motor windings are alive, controller is not driving
  • Fan is warm / hot to the touch but not turning - motor is mechanically stalled, drawing current, cooking

Step-by-Step Fix

1

Manual fan override + hard power-cycle. AxeOS > Settings > disable `Auto Fan Control` > `Fan Speed: 100%` > save. Power-cycle at the wall outlet, not the AxeOS soft-reboot button (soft reboot keeps peripheral state wedged). Watch the fan for 60 seconds post-boot. If it spins, the auto-fan curve is the entire problem - skip to Step 6 for a firmware fix, or leave on manual 100% as a stopgap. Manual 100% is louder but keeps the ASIC alive - on an unheated Bitaxe that is the right trade-off every time.

2

Reseat the fan connector. Power off at the wall. Unplug the fan from its header, inspect pins for bent contacts, flux residue, or a crushed shell. On GT/Hex it is a 4-pin PWM header and the connector only seats one way - verify polarity against silkscreen (V+, GND, TACH, PWM). On Supra/Ultra/Gamma it is a 2-pin; if someone reversed polarity during a mod, the fan simply will not spin. Re-click firmly until flush, power on, test. This alone fixes about 20% of `dead fan` tickets D-Central sees on shipped-in boards.

3

Blow out the fan. Canned air, held upright, short bursts. Hold the blade stationary with a plastic probe while blasting - overspinning the motor through the blade induces back-EMF that stresses the bearing. Dust buildup between the blade hub and the motor stalls a tired fan. Pair this with a visual check for hair, lint, or the classic Canadian-basement failure, cat fur.

4

Power-cycle after warming the room. Bitaxe Gamma 601/602 have documented I2C race conditions that worsen below 15 C ambient. If your shop is cold, move the miner to a warmer room for 2 minutes, then power-cycle at the wall. If the fan now spins, you have a cold-boot timing issue on the EMC2101 I2C bus - read the I2C handle-not-initialized playbook next for a permanent firmware fix.

5

Check AxeOS firmware version against known-bad releases. AxeOS > System > Firmware Version. Cross-reference against ESP-Miner #66 (v2.0.4 fan at 0 RPM), #599 (auto-fan reset loop on v2.4.2), and any v2.8.0+ release before a fan-curve fix lands. If you are on a flagged version, jump to Step 6 for a firmware flash.

6

Flash one release back or forward, erase NVS, reconfigure. Download the previous stable AxeOS release from the ESP-Miner releases page. Flash via USB using the Bitaxe Tool or `esptool.py write_flash`. Before rebooting, run `esptool.py erase_flash` to wipe NVS - stale fan-curve settings can survive a firmware downgrade if NVS is not cleared. Reconnect to AxeOS, reconfigure Wi-Fi and pool credentials, verify fan behaviour for 15 minutes. Pin this release in your notes; do not auto-update without checking the changelog for fan-curve fixes.

7

Replace the fan with a known-good unit. Stock Bitaxe fan is a 40 x 40 x 10 mm 5 V axial on Supra/Ultra/Gamma (2-pin JST); GT and Hex run a 40 x 40 x 20 mm PWM 12 V axial (4-pin). D-Central stocks both. Before soldering or crimping a new connector, pin-check polarity: V+ / GND on 2-pin; GND / V+ / TACH / PWM on the 4-pin. Power on, set manual 100%, verify spin and tach reading. If the new fan spins, the old one was dead. If the new fan also will not spin, the fault is upstream - continue to Step 8.

8

Measure the fan header under command. Power on. Fan unplugged. Manual 100% in AxeOS. Multimeter on DC, probes at the header pins. Expect 4.8 V (2-pin) or 12 V (4-pin) on the V+ rail, steady. On 4-pin also probe PWM - expect 5 V steady-high or a 25 kHz square wave at 100% duty. 0 V on V+ means supply-rail fault or dead MOSFET (2-pin). 0 V on PWM means controller is not driving. Record which pin is dead and carry that into Tier 3.

9

MOSFET / gate-resistor rework on 2-pin models. Advanced users whose multimeter shows V_GS = 0 V under command can replace the gate resistor or the N-channel MOSFET itself. This is a SOT-23 or SOT-23-3 part - 5-10 min rework with hot air and flux. Verify the designator against the Bitaxe open-hardware schematic on the bitaxeorg GitHub before desoldering - the part varies between Supra and Gamma revisions.

10

Reflow the EMC2101. If scope showed no PWM activity and serial log showed `EMC2101 write failed` or handle-not-initialized, the chip or its solder joints are suspect. Flux the SOT-23-10 package, hot air at 290-310 C for 15-20 seconds, let cool naturally. Do not dwell - the EMC2101 tolerates reflow but is small enough to desolder unintentionally. Practice on a Bitaxe Hex first - same EMC2101 package, same I2C topology, much lower blast radius if you slip. D-Central pioneered Bitaxe Hex heatsinks specifically because the Hex is the ideal teaching bench for this family of rework.

11

Replace the EMC2101 chip. Part is Microchip EMC2101-ACZL-TR, SOT-23-10, about 3 CAD. Lift the old chip with hot air, clean pads with solder wick and flux, place the new chip matching pin 1 to the board silkscreen marker, reflow at 290 C. Verify orientation before applying heat. Re-power, re-flash AxeOS if NVS was corrupted during the dead-controller period, and run the verification loop in Diagnostic Step 7.

12

Build custom AxeOS firmware with an explicit EMC2101 init + duty floor. Fork ESP-Miner. Patch the fan-init path to: (a) retry the EMC2101 probe three times with 50 ms delays if the first fails, (b) write a minimum 10% duty to register 0x4C at init regardless of auto-curve output, and (c) log actual register values read back over serial. Build with `idf.py build`, flash with `idf.py flash`. This is the Mining Hacker workaround for the 0% auto-curve bug - D-Central ships this patch on every repaired Bitaxe.

13

Add an external pull-down on the PWM line. Rare but seen: if the fan PWM pin is floating because of a damaged trace or unpopulated component, tack-solder a 10 kOhm 0603 from PWM to GND on the bottom of the board to force a defined off state on the MOSFET gate. Does not fix a 0% auto-curve bug but does fix flaky `sometimes the fan runs, sometimes it does not` behaviour on units with cold solder on the PWM trace.

14

Full fan-subsystem rework: EMC2101 + MOSFET + fan together. If you have chased the problem through the controller, the gate, and the fan itself on the same board, stop burning single parts - swap the whole subsystem in one pass. Replace EMC2101, MOSFET (on 2-pin models), and the fan. Verify with scope and multimeter at each step. This is the repair D-Central ships when a Bitaxe arrives with stacked failures - cheaper than chasing one fault at a time and proves the fix on the bench.

15

Stop DIY and ship to D-Central. Triggers: EMC2101 replacement did not restore PWM, scope shows ESP32-S3 is not clocking SDA/SCL at all, you lifted a pad during rework, you see burnt-component discoloration around the fan subsystem, or multiple Bitaxe units in your rack show the fault simultaneously. That is SoC-level or batch-QC debug territory. Turnaround 5-10 business days, Canada-wide, US/international welcomed. D-Central has been in the Bitaxe ecosystem since the first production PCBs - we built the Mesh Stand, pioneered the Hex heatsinks, and publish open-source fixes back.

16

Confirm the fix. After any tier applied, run the miner at full hash for 15 minutes. Verify Fan RPM > 3000 (2-pin Supra/Ultra/Gamma) or > 5000 (GT/Hex 4-pin) and ASIC junction temp settles below 60 C. Capture serial log to confirm zero `EMC2101` errors across the run. Anything else - intermittent spin, tach reading zero while fan is visibly moving, temp above 70 C - means the fault is still present. Escalate to the next tier.

When to Seek Professional Repair

If the steps above do not resolve the issue, or if you are not comfortable performing these repairs yourself, professional service is recommended. Attempting advanced repairs without proper equipment can cause further damage.

Related Error Codes

Still Having Issues?

Our team of Bitcoin Mining Hackers has been repairing ASIC miners since 2016. We have seen it all and fixed it all. Get a professional diagnosis.