Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

WM_ENV_ERR Warning

Whatsminer M30S – Environmental Sensor Error

Environmental / temperature sensor error on Whatsminer M30S — MicroBT codes 300/301/302 (SMx temperature sensor detection error), 320/321/322 (SMx temperature reading error), and 329 (control-board temperature sensor comm error). Includes ambient / humidity sensor faults on the button board.

Warning — Should be addressed soon

Affected Models: Whatsminer M30S, M30S+, M30S++ (M30V1 / M30V2 / M30V3 hardware revisions; button-board PN varies by rev)

Symptoms

  • WhatsminerTool reports environment temperature drastically higher or lower than reality (e.g. room is 18 °C, miner says 55 °C; or reverse)
  • `miner.log` / `system.log` contains `code=300`, `code=301`, `code=302`, `code=320`, `code=321`, `code=322`, or `code=329`
  • Dashboard shows `--` / `0 °C` / `255 °C` / `-40 °C` in a temperature field — stuck-value artifact, not a real reading
  • Miner refuses to upfreq / exits high-performance mode / locks at lower target frequency because firmware thinks the room is too hot
  • Codes 350/351/352 (SMx temperature protecting) fire intermittently with no correlated ambient change
  • `upfreq_test.log` shows frequency ramp aborting with a temperature-related reason code despite normal hashboard loading
  • One hashboard's reported chip temperatures look flat — every chip reads the same value to the tenth of a degree
  • Intermittent drop-outs of temperature data on the WhatsminerTool dashboard — values visible one refresh, `null` the next
  • LED slow-red-blink pattern with no corresponding fan / PSU code — controller default 'sensor sad' signal
  • Miner was recently moved (re-deploy, shipment, re-rack) and the error started afterward — mechanical shock to button board or adapter-plate ribbon
  • Error started after a firmware flash — pre-`20200801` M30V1 builds or cross-revision flashes are the common culprits
  • Recent condensation event — cold-shipped miner plugged in warm, or humid shoulder-season ambient crossing dew point on button-board silicon

Step-by-Step Fix

1

Hard power-cycle the M30S at the breaker for 60 seconds (not a soft restart). The I2C bus pull-up network needs fully discharged caps to recover from a wedged state, and only a real cold boot does that. Power back up, wait 5 minutes for self-test, re-check the status page. Roughly 15% of WM_ENV_ERR cases — especially those that appeared after a firmware upgrade, brownout, or power blip — resolve right here.

2

If the miner was recently shipped cold, re-deployed from a climate-different space, or pulled out of a garage into a warm room, let it sit 60 minutes unpowered in its new location before booting. Condensation on button-board silicon wedges the I2C bus silently — this is a classic Canadian shoulder-season failure mode (March, October, November) when dew-point math goes against you.

3

Check the WhatsminerTool status page for the specific error codes firing. Note whether it's 300/301/302 (sensor detection), 320/321/322 (sensor reading), 329 (control-board sensor), or a cluster. Different codes route to different fixes. Photograph or screenshot the status page so you have the record if the problem returns.

4

Verify ambient temperature with an external thermometer placed at the intake grille — not room-middle, not the hallway. If real ambient is 22 °C and the miner reports 55 °C, the sensor is the problem. If real ambient is 35 °C+ and the miner agrees, the sensor is honest and you have a thermal / airflow issue (different page: whatsminer-m30s-temperature-too-high).

5

Verify firmware version string in the status page (format `20xxxxxx.xx`). Cross-reference BitcoinTalk / r/mining / Whatsminer community channels for known-buggy sensor-init builds. Early M30V1 units on pre-`20200801` builds are the most-reported sensor-regression combo. Plan a roll forward or back in Tier 2 if you're on a flagged build.

6

Power down at the PDU. Open the chassis. Re-seat every ribbon cable: three hashboard ribbons at the adapter plate, plus the button-board ribbon at the front. Press firmly, listen for the click. This single step fixes 30-40% of bench tickets for this error family (D-Central internal + Zeus Mining confirm). Wipe connectors with 99% IPA + lint-free wipe if you see dust, blackening, or green corrosion.

7

Pull and inspect the button board (two screws on the M30S front bracket). Look for physical damage, cracked traces, a scorched sensor IC (SOT-23-sized TMP75-class part), packed dust around the sensor, or signs of moisture ingress. If the board is visibly dead, swap it — $10-25 CAD aftermarket, 3-minute job, one of the cheapest real fixes in the Whatsminer ecosystem.

8

Measure the 3.3 V power rail at the button-board connector with multimeter on DC while the miner is powered. Expect ~3.3 V nominal (±5%), clean ground. Rail sagging, noisy, or absent = problem upstream (control-board regulator, or an open wire in the ribbon). Move to control-board diagnosis in that case.

9

Flash the latest official MicroBT firmware for your exact hardware revision. Verify the hardware string (M30V1 / M30V2 / M30V3) matches the firmware's supported-hardware list before clicking Start Upgrade — wrong-rev flash bricks the control board. If the problem started after a recent flash, roll one official build back. DO NOT flash custom firmware on M30S — anti-tamper codes 100001/100002/100003 will fire. DCENT_OS is Antminer-only and will not run on MicroBT hardware.

10

Label the three hashboard slots 0/1/2 with tape. Move the SMx-implicated board to a known-good slot. Power up, observe logs 10 minutes. Code follows the board = sensor is on that board (Tier 3 reflow/replace). Code stays in the slot = adapter plate, control-board I2C channel, or the slot's ribbon (Step 12 territory). This is the single most diagnostic move for 300-322 codes on a specific SMx.

11

Clean the sensor area on the button board and any suspect hashboard. Compressed air in short bursts from 30 cm away (not point-blank) to blow dust off the sensor IC. Follow with a gentle 99% IPA wipe on a cotton swab if grime is visible. Packed-dust insulation is a real cause of sensor drift and occasional false-high readings.

12

Scope SDA and SCL on the suspect I2C segment with an oscilloscope or logic analyzer (Saleae Logic or sigrok-compatible clone). Healthy bus: ~3.3 V idle-high, clean falling edges, no chatter when idle. Stuck bus: SDA or SCL held low by a dead slave. Unplug each slave (hashboards, button board) in turn — whichever one releases the bus is your failed part. Decoded I2C traffic reveals the exact NACK-ing slave address.

13

Reflow the sensor IC on the button board or suspect hashboard with hot air. Preheat bottom of the board to ~150 °C if you have a preheater, then top-side hot air at 280-310 °C for ~15-20 s over the sensor package. TMP-class sensors are small SOT-23 packages, trivial to reflow. Cool naturally. Re-test with a thermocouple reference against a known-good meter.

14

Replace the sensor IC outright if reflow doesn't restore it. TMP75 / TMP112 parts are Mouser / Digi-Key stock items, $2-5 CAD single-unit. Match the exact part number from the board silkscreen or a donor board. Hot-air rework station, tweezers, patience. This is the real repair and it's cheap if you have the skills — pennies in parts, minutes in labour.

15

Inspect and repair I2C-bus passives near the sensor: cracked MLCCs in the decoupling network, damaged pull-up resistors, solder-flux bridges from a prior repair. 0402 / 0603 passives, soldering iron + magnification. Replace like-for-like. This is what keeps the bus alive after the sensor itself is healthy.

16

If the I2C master on the control board is suspect (codes fire on every sensor on the bus regardless of hashboard slot, 329 persistent, firmware re-flash didn't help), you are now staring at the control-board SoC's I2C peripheral or its upstream traces. This is the threshold where amateur repair becomes counter-productive. Stop and ship to D-Central.

17

Stop DIY when: (a) every sensor on every bus fires codes regardless of installed hashboards AND a known-good control board clears it; (b) a reflowed sensor returns the code within 30 days (PCB damage under the package); (c) capacitor bulging, discoloration, or burnt-component smell anywhere; (d) the miner refuses to POST or bootloops with sensor codes. Book a D-Central ASIC Repair slot.

18

Ship to D-Central: anti-static bag the hashboards and/or control board, double-box with ≥5 cm foam on every side. Include a note with observed symptoms, firmware version, exact codes from your logs, and your contact info. Bench process for M30S sensor-family errors: I2C bus protocol-analyzer scan on each segment, button-board test fixture with validated sensor reference, TMP-class sensor replacement (graded parts in stock), control-board I2C peripheral diagnostic, button-board swap from our M30S parts inventory, 24-hour nameplate burn-in post-repair.

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.