Bitaxe – Fan Motor Jammed / Hums but No Rotation
Warning — Should be addressed soon
Symptoms
- Fan hums audibly but does not rotate - distinct mechanical buzz at line frequency or PWM carrier
- AxeOS reports `Fan RPM: 0` while `Fan PWM` reads non-zero (`30%`, `50%`, `100%`)
- Fan housing is warm or hot to the touch - windings are energized, dumping current as heat instead of motion
- Blade rotates by hand but feels gritty, stiff, or notchy (sleeve-bearing wear)
- Visible foreign object in blade arc: cat hair, dust ball, Wi-Fi antenna pigtail, USB cable, foam offcut
- AxeOS ASIC temperature climbs ~2 C per minute under load (45 C -> 60 C in 8 minutes typical on Gamma 601)
- `Device Overheat` warning fires and AxeOS resets fan/frequency/power per ESP-Miner #599
- Serial console shows clean EMC2101 writes, no I2C errors, but fan_rpm reads 0 with non-zero fan_pwm
- Issue is intermittent - fan starts after a tap on the chassis, then stalls again under load (dry-bearing signature)
- Fan ran fine for 12+ months and now suddenly hums without spinning (sleeve-bearing oil dried out)
- Brand-new Bitaxe out of box with humming fan (shipping shock displaced blade or seated debris in bearing)
- Fan starts at 100% manual but stalls again when auto-fan curve drops below ~30% duty (low-duty stall)
Step-by-Step Fix
Visual inspection and obstruction removal. Power off at the wall. With a flashlight and a plastic chopstick or plastic tweezers, look down the fan intake. Pull out anything you find - hair, lint, foam offcuts, cable strays, the corner of a sticker someone never peeled. Run a finger gently around the inside of the fan housing to feel for debris between blade and shroud. Power back up, set manual 100%, watch for spin. This single step resolves roughly 40% of fan-jam tickets D-Central sees, especially on units that started doing it last week - it is almost always a cable or hair migration.
Cable management audit. Power off. Trace every cable touching or near the Bitaxe - USB-C, barrel jack, Wi-Fi antenna pigtail (if external), Ethernet (if used). Make sure none of them can fall, sag, or vibrate into the fan blade arc. The IPEX Wi-Fi pigtail is the worst offender - stiff, springy, and migrates over time. Use a small zip-tie or velcro strap to lock cables down at least 2 cm clear of the fan housing. The proper fix is the D-Central Bitaxe Mesh Stand - we built it specifically for this failure mode and pioneered the original Mesh Stand because we shipped too many cable-into-fan tickets.
Power-cycle to clear thermal runaway state. If the ASIC overheated during the jam period, AxeOS may have entered the Device Overheat reset loop documented in ESP-Miner #599. Power off at the wall for 60 seconds (not the soft-reboot button), then power on. This clears the firmware's thermal trip state. If the fan is still humming after the cycle, the underlying jam is not fixed - escalate to Tier 2.
Flashlight-assisted blade-spin test. Power off. Rotate the blade 5-10 full revolutions with a plastic probe while watching closely. A healthy sleeve-bearing fan should glide with only a faint magnetic detent every 90 degrees (4-pole motor). If you feel grinding, gritty resistance, or notchy stops between detents, the bearing is shot - skip to Step 6 and replace the fan rather than fight it.
Canned-air debris blast (gentle). Hold the blade stationary with a plastic probe. Aim canned air at the bearing hub from the intake side, short 1-second bursts. Do not over-spin the blade - back-EMF can damage the windings and accelerate bearing wear. After the blast, manually rotate the blade five revolutions, listening and feeling for improvement. If it is now smooth, power on and verify spin.
Replace the fan with a known-good unit. Stock Bitaxe fan specs: Supra/Ultra/Gamma run a 40 x 40 x 10 mm 5 V axial on a 2-pin or 3-pin JST header; GT and Hex run a 40 x 40 x 20 mm 12 V 4-pin PWM axial (some Hex builds use 60 mm). D-Central stocks both. Power off at the wall, unscrew the four corner mounts (M3 typically), unplug the fan from the header, transfer the new fan with matching pin orientation. Pin order on 4-pin: GND / V+ / TACH / PWM. On 2-pin verify V+ and GND against the silkscreen. Power on, manual 100%, verify spin and tach. Replacement cost: $3-15 USD depending on quality tier.
Apply minimum PWM duty floor (firmware-side fix). If the bearing is marginal but the fan spins at 100% and you want to buy time before swapping, set a non-zero minimum PWM floor in AxeOS. Settings > uncheck Auto Fan Control > Fan Speed: 50% (or higher). This avoids the low-duty stall failure mode and ensures the motor always has enough torque to overcome bearing drag. Write the change, power-cycle at the wall, run for 15 min, confirm fan holds RPM. Stopgap, not a fix - a marginal bearing will eventually seize at any duty.
Lubricate the bearing (sleeve-bearing fans only - temporary fix). Some sleeve-bearing fans have a small label on the rear hiding a lubrication port. Carefully peel back the label, place 1 drop of light machine oil (sewing-machine, 3-in-1, or single-drop synthetic motor oil - never WD-40, which is a solvent and will displace remaining oil) into the port, replace the label, manually spin the rotor 30 revolutions to distribute. Power on, run at 100% for 5 min, then drop to normal duty. Buys weeks, not months - replace the fan when you have time.
Switch to a ball-bearing aftermarket fan. Sleeve bearings are cheap and quiet but die in 12-18 months of 24/7 operation. Ball-bearing or hydrodynamic-bearing fans of the same 40 x 40 x 10 mm (Supra/Ultra/Gamma) or 40 x 40 x 20 mm (GT/Hex) form factor cost $10-25 USD and last 40,000-60,000 hours rated. Noctua NF-A4x10 5V (Supra/Ultra/Gamma) and NF-A4x20 PWM (GT/Hex 4-pin) are the gold-standard upgrades - quieter, longer-lived, proven not to jam in this failure mode. Verify pin polarity against silkscreen before plugging in - some Noctua fans use non-standard pin order.
Patch firmware with a fan_rpm watchdog. Fork ESP-Miner. In the fan-monitor task, add a watchdog: if fan_rpm < 500 AND fan_pwm > 25% for > 30 seconds, log a FAN_STALL event and either ramp fan_pwm to 100% for one final attempt or halt hashing immediately to protect silicon. Build with `idf.py build`, flash with `idf.py flash`. This is the Mining Hacker patch D-Central ships on repaired Bitaxes - upstream's thermal-protect-only behaviour gives the silicon a 2-5 minute heat soak before reacting, a genuine risk to long-term chip health.
Confirm MOSFET and PWM line health under load. Power on with the fan plugged in and stalled. Multimeter on DC at the fan header pins. Expect 4.8-5 V (2-pin Supra/Ultra/Gamma) or 12 V (GT/Hex) on the V+ pin, steady. On 4-pin, scope the PWM line - expect a ~22 kHz square wave at the duty AxeOS commanded. If voltage and PWM are both correct, the controller and gate driver are doing their job; the failure is purely mechanical. If voltage is wrong, you are not in this playbook - see the Bitaxe Fan Not Spinning / PWM Zero playbook.
Inspect for blade-housing contact damage. With the fan removed, lay it flat on a hard surface and rotate the blade by hand while watching the blade tips. Any blade tip that audibly contacts the housing on rotation = damaged blade or shifted rotor magnet from impact. Replace the fan; do not attempt to repair a bent blade - dynamic balance is gone and it will wobble its own bearing dry within weeks.
Check stand and case clearances. On 3D-printed cases or third-party stands, verify the fan intake has at least 1 cm clearance to the nearest surface. Insufficient intake clearance creates negative pressure that pulls the rotor against the bearing race over time, accelerating bearing wear in a non-obvious way (the symptom looks like normal aging). The D-Central Mesh Stand is dimensioned with explicit fan-intake clearance for this reason - it is not just cable management, it is airflow geometry.
Document the failure for upstream. If you are seeing repeated fan jams across multiple Bitaxes from the same batch, file an issue on bitaxeorg/ESP-Miner and bitaxeorg/bitaxe with serial numbers, batch dates, fan part numbers, and bench logs. This is how the ecosystem improves - D-Central files these regularly when our repair queue surfaces a pattern.
Stop DIY and ship to D-Central. Triggers: replacement fan also hums and will not spin (header / MOSFET damage), burnt-component discoloration around the fan power leg, ASIC ran > 90 C during the stall (bench burn-in needed to confirm silicon integrity), multiple Bitaxe units in your rack show the fault simultaneously (batch-QC pattern), or you lifted a pad / trace during DIY rework. 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.
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.
