Whatsminer Immersion – Dielectric Fluid Level Low
Warning — Should be addressed soon
Symptoms
- Whatsminer dashboard or FogHashing controller shows a `Tank Level Low` / `Coolant Level` / `WM_IMM_LEVEL` alarm, often paired with a yellow / amber tank-status LED
- Sight glass on the tank reservoir reads below the marked operating window — fill line silk-screened, etched, or labelled on the column
- Float-style level switch (typical FogHashing reservoir fitment) reads `low` on the controller's I/O page; reed switches click off audibly when bumped
- Capacitive / ultrasonic level sensor on a custom build reports a step drop in level inconsistent with thermal expansion alone
- Visible drop in the tank reservoir between morning and evening on a hot day — `1-3 mm` per day on a sealed tank acceptable; `5-15 mm` per day is not
- Oil sheen / residue on the concrete under the tank, on the dry-cooler plumbing, or at hose barbs and heat-exchanger plates
- Detectable hydrocarbon smell in the room — most immersion fluids are low-odour but not no-odour, and a leak amplifies it
- Top hashboard fins or chip surfaces visibly emerging from the fluid column during peak-load operation
- Post-cold-fill: fluid level appears to `drop` overnight after the first heat cycle — usually expansion-compensation underfill, not a leak
- Recent service event (filter clean, pump rebuild, fluid sample) where the technician did not trim level back to the operating mark
- Hashrate is still on spec but tank ΔT (top vs bottom thermocouples) is rising slowly — fluid mass is dropping, thermal capacity with it
- On FogHashing M1 / M6 / M20 controllers: alarm history log shows repeated brief `LEVEL_LOW` triggers as fluid surface oscillates around the switch on a marginal fill
- Refill pump or top-off reservoir (if equipped) cycling more often than the seasonal baseline
Step-by-Step Fix
Visually confirm the actual fluid column on the sight glass before doing anything else. Shine a flashlight at the column and read the level against the marked operating window. If silicon is exposed (top hashboard surface above fluid), cut hash load at the PDU immediately — every minute with chips in air is killing them. If silicon is still safely submerged with `≥ 5 cm` of margin, you have time to diagnose under load. The level switch alarm and the actual fluid column are two different facts; trust the column more than the alarm.
Identify the dielectric fluid in the tank before adding anything. Read the build documentation, fluid drum label, FogHashing or MicroBT operation guide, or service log. Mineral oil, synthetic ester (MIDEL family), or engineered dielectric (Engineered Fluids ElectroSafe) are not interchangeable. If you cannot identify the fluid, draw a 250 mL sample and contact your fluid supplier — the wait is cheaper than the wrong top-up.
Walk the floor under and around the tank, the secondary plumbing run, and the dry cooler (indoors or outdoors). Use a clean white shop towel — wipe along every hose barb, fitting, heat-exchanger plate seal, pump volute O-ring, and flexible-tubing run. Even a faint oil sheen counts as a leak. Note any visible drips, puddles, or hydrocarbon smell. A slow leak hides under a tank skirt for weeks before anyone walks the loop hard enough to find it.
Bump the level-switch float gently with a clean nylon rod or jiggle the reservoir if mechanical access permits. The controller alarm state should toggle. A stuck float (debris, biofilm, swollen gasket on incompatible material) reports `low` on a properly filled tank — cheapest false-alarm to rule out. If the switch is sticky, pull and clean the float assembly, inspect for incompatible-material swelling, reinstall.
Read the controller's alarm-history log. Repeated brief `LEVEL_LOW` triggers separated by minutes = fluid surface oscillating around the switch trip point on a marginal fill — top up to clear margin. Single sustained alarm = real loss event; continue diagnostic walk. Episodic alarms tied to ambient cycles = expansion-compensation underfill. The alarm log is one of the most under-used diagnostics on every controller.
Top up with the *exact same* dielectric fluid already in the tank. Use a clean transfer pump or pour funnel. Add slowly with miners off, watching the sight glass. Stop at the marked operating level — do not overshoot. Mineral oil into mineral oil. ElectroSafe into ElectroSafe. Synthetic ester into the same synthetic ester. **Never mix chemistries.** Different chemistries attack different gaskets, have different vapour pressures, and corrupt every fluid-sample test for the next year.
Bleed the secondary loop after top-up. Crack the highest bleed point on the heat exchanger or dry-cooler return manifold. Vent until clear fluid runs without entrained air bubbles. Trapped air can falsely trip the level switch — air migrating out of the loop drops the reservoir level by `5-20 mm` depending on plumbing volume. Re-check fluid level after bleeding and top up again if needed.
Inspect and tighten the tank lid and every cable penetration / cable gland. Replace failed grommets with parts rated for dielectric service. Lid sealing is the highest-leverage move on an evaporation-driven loss — a properly sealed FogHashing M-series enclosure loses `< 1 mm/day`; a plywood-lid shop build with un-grommeted cable holes can lose `5-15 mm/day` in hot ambient. Vapour escape can be felt with a finger or seen against a flashlight beam.
Mark the sight glass with a fresh tape line at the topped-up operating level. Read the level again 24 hours later, at the same ambient and operating temperature. The 24-hour delta is the single most useful loss-rate metric you'll generate. `< 1 mm/day` = sealed correctly. `1-5 mm/day` = imperfect seal, evaporation real but manageable. `> 5 mm/day` = significant evaporation or undetected slow leak; revisit Step 3 with more rigour.
Document the top-up volume and date in a service log alongside ambient and operating temperature. Volume + date + temperature gives you a year of data that turns `is this normal?` into a number. Service logs catch slow leaks the alarms miss — a `1 mm/week` loss never trips the switch but accumulates to a real top-up over a year and is your first signal that a gasket or hose is starting to fail.
If loss is faster than `5 mm/day` *and* the tank lid is properly sealed *and* no visible leak is present, partially drain the secondary loop, pull the heat exchanger, and inspect plate gaskets for swelling, cracking, or chemical attack. Material incompatibility (nitrile gaskets on synthetic-ester fluid) is a slow killer that looks like evaporation until the gasket finally fails. Replace with material-matched gaskets — Viton / FKM for esters, nitrile only for mineral oil.
Recalculate the expansion-volume budget for your fluid + temperature delta + tank volume. Mineral oil expands roughly `0.0007 / °C`. On a 30 L tank from `15 °C` to `45 °C` that's `~0.6 L`. On a 700 L FogHashing M20 build that's `~15 L`. Your reservoir / sight column above the operating mark must accommodate the full expansion without overflow on heating *and* without dipping below the level switch on cooling. Undersized reservoir = guaranteed alarm cycling on every ambient swing.
Sample 250 mL of dielectric into a clean glass jar. Inspect colour against a fresh-from-drum reference. Yellow / amber / copper-tinted = oxidation. Cloudy = water ingress (synthetic esters are mildly hygroscopic). Send to fluid vendor for acid number, breakdown voltage, particulate count, and water content if anything looks off. Out-of-spec fluid evaporates differently, attacks gaskets differently, and may be the real reason your level dropped.
Replace any flexible tubing in the secondary loop that has been in service `> 24 months`, especially where it abrades against chassis edges or rests on rough concrete. Pinholes in old tubing leak slowly — invisible until you wipe a clean shop towel along the run. Replace with dielectric-rated hose (verify the spec sheet; pool / water hose is not dielectric-rated and may swell or fail in service).
Verify the fill procedure was correct on commissioning. Correct procedure: fill cold to the cold mark, run one heat cycle, top up the cold-side margin once it cools again. Or fill hot to the hot mark with a sized expansion reservoir above. A tank filled hot with no expansion reservoir overflows on the next heat cycle and dips below the level switch on the next cool-down. The OEM operation guide is explicit on this — re-read it before the next top-up.
Wire the level switch to the PDU shutoff if it isn't already. A controller alarm at 2 AM with no operator on shift is theatre. A level switch that drops the PDU when the fluid hits the trip point is engineering. Loss of a few hours of hashrate is rounding error against one cooked top-bank hashboard. Add an analog level sensor (capacitive, ultrasonic, or float-mounted potentiometer) wired to a logger / Grafana / Sonoff for trend visibility — discrete alarm tells you when it's already too late; analog trend tells you the problem started six weeks ago.
Stop and book D-Central's immersion service when: repeat alarm events on a properly-filled, properly-sealed, no-visible-leak tank; fluid sample comes back out of spec; suspected cross-leak inside the heat-exchanger plate stack; two top-ups inside a quarter on an annual-top-up tank; or you need engineering review / re-spec of an expansion reservoir on a custom build. We have built and recommissioned dozens of immersion tanks on Whatsminer, Antminer, and Avalon hardware.
Recommission the loop end-to-end before walking away. Top up to operating mark verified. Secondary loop bled. Level switch operation tested with a manual float bump. Ambient and operating temperatures logged. Expected daily loss rate documented for the next 30 / 60 / 90 day check-in. Without a documented expected rate, the next operator on shift has no way to know if the next alarm is normal seasonal drift or a real event. Service log entry signed and dated.
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.
