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

140 Warning

Whatsminer Error 140 – Fan Speed Too High

Fan speed exceeds the upper limit — BTMiner reads a tach value above the programmed safety ceiling (commonly a counterfeit / non-OEM fan with the wrong pulses-per-revolution count, a noisy tach line, a degraded control-board pull-up resistor, or a dual-coil-fan firmware regression).

Warning — Should be addressed soon

Affected Models: Whatsminer M30S, M30S+, M30S++, M31S, M31S+, M32, M50, M50S, M50S+, M50S++, M53S+, M56S, M60, M60S, M60S+, M63, M63S+, M66, M66S — every BTMiner platform that exposes a Fanin / Fanout PWM channel and runs the modern BTMiner firmware family with an upper-bound fan-speed sanity check.

Symptoms

  • WhatsminerTool / `api error_code` returns `140` — exact BTMiner wording: `Fan speed exceeds the upper limit`
  • Web dashboard shows one or both fans reporting unreasonable RPM — `>14,000 RPM` on M50S+/M60/M66 12k-class platforms or `>8,000 RPM` on legacy 6k-class M30S/M31S/M32 platforms
  • `api summary` shows fan RPM readings that double or halve between consecutive polls — classic pulse-count mismatch signature
  • `api devdetails` returns RPM values that are exactly 2x or exactly 4x what the audible RPM suggests — 2-pulse or 4-pulse fan being read as 1-pulse
  • Error appeared immediately after replacing a fan with a 3rd-party part (Noctua industrialPPC, Delta, Sanyo Denki, generic Amazon ASIC fan)
  • Error appeared after the unit was moved or fan harness was disturbed — points to noise pickup on a poorly-routed tach wire
  • Error appeared after a BTMiner firmware update — possible regression in the fan-bound parser
  • Error fires intermittently with no thermal change, sometimes clears on its own — tach-line noise / EMI signature
  • Hashboard temperatures normal or low while `Error 140` is firing — confirms this is a sensing fault, not a thermal one
  • Repeated `Error 140 → Error 110 → Error 140` cycling — firmware alternately reading no pulses and too many pulses from the same fan
  • Control-board LED flashes red in the fan/thermal-warning pattern
  • No actual thermal symptom — miner hashes at nameplate, no throttling, no hot hashboards — but dashboard refuses to clear the error

Step-by-Step Fix

1

Capture the actual error code and the absurd RPM reading. Open WhatsminerTool, hit the miner status tab, screenshot the fan RPM values throwing `Error 140`. Or SSH and pull `api error_code` plus `api summary` and save the raw JSON. Note the pattern: is the RPM reading exactly double what you'd expect, exactly quadruple, or oscillating between halves and doubles? This single screenshot is the most useful data point you'll generate today; if the unit ships to D-Central, our bench will diagnose 80% of `Error 140` tickets from the screenshot alone, before we unpack the chassis. Save it to a folder named after the miner serial number with today's date.

2

Reboot once and observe. BTMiner occasionally throws `Error 140` during boot when the tach signal is still settling. `ascset|0,reboot,0` or web-UI reboot. Let the miner fully hash for 10-15 minutes. If `Error 140` doesn't return, the boot transient was the cause and you've bought yourself a monitoring line — alert on any recurrence. If it returns, the fault is real and you need Tier 2. Roughly a quarter of `Error 140` tickets at the D-Central bench resolve at this exact step; the rest are sensing-fault territory. Don't skip it just because it feels too easy.

3

Inventory recent service history. Has anyone replaced a fan in the past 30 days? Has anyone opened the chassis for any reason — paste refresh, dust service, cable check? Was the unit purchased used, and might a prior owner have swapped the fan? Has a firmware update been applied recently? Each `yes` answer dramatically narrows the diagnostic. A `yes` to fan replacement is essentially diagnostic — go straight to Tier 2 step 6 and look for a tach pulse-count mismatch. A `yes` to a firmware update points to Tier 3 firmware rollback. A `yes` to a re-opening points to a connector or harness disturbance.

4

Verify ambient is not at extremes. IR thermometer at the intake grille. BTMiner spec is `5-35 °C`. Below `5 °C` is genuinely rare but possible (unheated garage in February in Quebec); below `0 °C` and a 12k-class fan with lower bearing viscosity from cold-soak can occasionally produce a tach-edge timing irregularity that BTMiner misreads. Above `35 °C` doesn't usually drive `Error 140` directly but can stress the tach signal-conditioning circuit on the control board. If ambient is wildly outside spec, normalize it before chasing the fault deeper.

5

Confirm the audible fan note matches the dashboard reading. Stand next to the miner, lid on, ears open. A healthy 12k-class fan at high duty has a distinctive whine in the `2-4 kHz` range; a 6k-class fan whines lower, around `1-2 kHz`. If your dashboard reports `24,000 RPM` but the audible note matches a normal `12,000 RPM` fan, you have prima facie evidence of a pulse-count mismatch — the fan is fine, the firmware is misreading. This audible / visual cross-check is the cheapest diagnostic in mining and almost no operator does it. Note what you hear.

6

If the fan was recently replaced — revert or fit a tach simulator. The single most common root cause. PDU off, 60-second wait, top cover off, locate the replacement fan. If you have the original OEM fan on the shelf, swap it back, power on, observe for 10 minutes. If you don't (it failed, you trashed it), order a [Whatsminer 4-pin fan simulator dongle](https://www.zeusbtc.com/ASIC-Miner-Repair/Parts-Tools-Details.asp?ID=3367) — it inserts between the control board and the fan, presenting a clean 1-pulse-per-revolution signal to BTMiner regardless of what the fan actually does. The fan still cools normally; the simulator only spoofs the tach. Cost is roughly `$15-$30 CAD`.

7

Reseat and inspect the 4-pin PWM connector. PDU off, 60-second cap bleed, top cover off. Locate the offending fan's 4-pin connector at the BTMiner control board. Unplug. Inspect the four pins: `+12 V` (red), `GND` (black), tach (yellow on most OEM harnesses), PWM (blue on most OEM harnesses). Look at the *tach* pin specifically — it's the one carrying the misbehaving signal. Bent? Corroded? Plated finish worn off? Compare it to the equivalent pin on the sibling fan's connector. Apply contact cleaner if dirty, dielectric grease before reassembly. Reseat firmly. Power on, observe for 15 minutes.

8

Check the harness for chafing along its routing. Top cover off, follow the fan harness from fan housing to control-board connector. Look for: insulation worn through against a sheet-metal edge, kink from a pinched lid, evidence of heat damage from a nearby component (PSU output capacitors run hot), splices made by a previous owner (electrical-tape splices on a tach line are a known failure mode). Any single bare-conductor exposure on the tach wire produces noise pickup and `Error 140`. If the harness is compromised, replace it — MicroBT-authorized parts only, the tach pulse timing matters.

9

Measure tach-line voltage with a multimeter. Multimeter on AC volts, lowest scale (typically 200 mV or 2 V AC). With miner powered and fan commanded to mid-duty (`api ascset|0,fan-spd,50`), probe the tach pin to GND at the connector. Expect a stable reading in the `1-4 V AC` range (true-RMS meter is more accurate than averaging-RMS; the waveform is a square wave). A wildly variable reading or a reading near `0 V AC` indicates either no signal or noise-dominated signal. Compare against the sibling fan's tach line. A meaningful difference between the two confirms the suspect channel is faulty.

10

Swap the suspect fan into the sibling's position on the same control board. Power off. Move the suspect fan's harness to the position currently held by a verified-healthy fan. Move the healthy fan to the suspect's old position. Power on, monitor 15 minutes. If `Error 140` follows the *fan* (now firing on the new position), the fan's tach hardware is the fault — replace with OEM. If `Error 140` stays in the *original position* (now firing on the previously-healthy fan), the control-board tach channel is the fault — Tier 3 territory. This swap test is the single highest-confidence diagnostic on the BTMiner fan-alarm family.

11

Flash current stock BTMiner firmware. Download the latest stable for your exact model (M30S++ is on a separate maintenance branch from M50S+/M60/M66 — don't cross-flash). Use WhatsminerTool over LAN; never source firmware from a third-party download. Apply, factory-reset (hold reset 5-10 seconds after the flash completes), let it rediscover pool config and stabilize for 24 hours. Specific known firmware regressions affecting `Error 140` include the M30S++ dual-coil-fan parser fix that landed in the `20220815.xx` family — if your M30S++ is on anything older and is throwing `Error 140` against a confirmed-OEM fan, this is your fix.

12

Oscilloscope the tach line. If you have access to a scope (Rigol DS1054Z or better), probe the tach pin to GND at the control-board connector with the fan running at `50%` and `100%` duty. Healthy signal: clean `0 → 3.3 V` square wave, frequency proportional to RPM × pulse-count, sharp rising edges, no spurious pulses between transitions. Unhealthy signatures: ringing on rising edges (pull-up resistor drift); spurious double-pulses (capacitively coupled noise from PWM line); rounded edges that BTMiner's pulse-counter occasionally treats as two transitions. The scope measurement turns `Error 140` from a guess into a diagnosed circuit fault.

13

Replace the tach-line pull-up resistor on the control board. If the scope shows degraded edges and the resistor is the suspect, locate the pull-up on the control board near the fan header. Typical part: `10 kΩ` `0603` SMD ceramic. Hot-air rework station at `~290 °C`, microscope at 10x minimum, ESD-safe workstation. Remove the old part, clean the pads with flux + braid, place the new part, reflow. Verify with multimeter (`10 kΩ` ± 5% between the tach pin and `+5 V` or `+3.3 V` rail). Power on, re-scope, confirm clean signal, monitor `api error_code`. This is genuine bench work — if you don't have the bench, ship to D-Central.

14

If running a hydro / immersion variant, audit the chassis fan logic. M53S+, M56S+, and M63S+ hydro variants still have a small chassis fan for the control-board enclosure even when hashboards are liquid-cooled. If that small fan is a non-OEM replacement, or a previous owner left an air-cooled fan plugged in after converting to immersion, BTMiner can read absurd RPM and throw `Error 140`. Either fit the OEM small fan, fit a tach simulator on the disconnected port, or — for proper immersion conversions — disable the chassis fan input cleanly via the firmware's immersion-mode setting. Don't leave a flapping fan input unaddressed.

15

Stop DIY and book a D-Central bench slot when any of these are true: `Error 140` persists after firmware refresh, OEM fan replacement, harness inspection, AND control-board tach rework attempts; the swap test in Step 10 confirmed the control-board tach channel is faulty and you don't have hot-air rework capability; the fan harness requires a full custom remake against an oscilloscope-verified template; you suspect cascade damage from running with `Error 140` ignored; you're operating a hydro / immersion variant with an unfamiliar fluid-loop component contributing to the fault. The [D-Central ASIC Repair service](https://d-central.tech/services/asic-repair/) keeps M-class control boards, OEM fans, and oscilloscope-verified diagnostic fixtures.

16

What D-Central does at the Whatsminer bench for `Error 140`. Oscilloscope-verify the tach signal at every fan header against a known-good reference unit. Component-level pull-up resistor replacement when drift is confirmed. Tach-line harness remake against the BTMiner OEM template. Firmware refresh against the most recent MicroBT stable for the exact hardware revision. Functional verification at nameplate load over a 24-hour burn-in with continuous `api error_code` polling and RPM trending — no miner leaves the bench with an unresolved `140`. Canadian customers ship to our Quebec bench for fastest turnaround on the continent.

17

Ship the miner with documentation. Include: the screenshot from Tier 1 step 1 of the absurd RPM reading; your service history (any recent fan swap, firmware update, or chassis open); the BTMiner firmware version string from `api get_version`; the exact symptom pattern (steady absurd RPM, oscillating, cycling with `110/120/130`). Pack the chassis intact — don't pull the hashboards unless we ask. Double-box, foam, anti-static for the control board only if you've already removed it. The pre-work saves diagnostic hours, which saves you repair dollars. DCENT_OS coverage for Whatsminer is on D-Central's roadmap (exploration phase, not yet available); today your M-class miner runs stock BTMiner.

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.