Three letters appear on the topside panel, the tub stops heating, and a guest is arriving in four hours. Error codes are the most stressful thing a hot tub does, mostly because the display tells you what the control pack noticed — not what is actually wrong. Here is what the common codes mean, what you can safely check yourself in five minutes, and which ones justify a call before you do anything else.
First: Codes Are Symptoms
Every code on your panel comes from a sensor or a switch reporting a condition to the control pack. FLO does not mean the pump is dead; it means the pack did not detect adequate flow. That could be a dirty filter, a closed valve, a low water level, an air lock, a failing circulation pump, or a bad pressure switch — a range spanning five dollars to five hundred.
Codes also vary by manufacturer. Balboa, Gecko, Hydro-Quip, and Sundance packs each have their own dialect, and your specific panel may show HFL, LF, or a flashing icon where another shows FLO. The families below cover what we actually encounter in the field. If your code is not here, the model number on the equipment bay door and a photo of the panel will get you an answer quickly.
The Flow Family: FLO, FL1, FL2, FLC, HFL
By a wide margin, the most common codes we are called for. The pack believes water is not moving through the heater at the required rate, and it shuts the heater down to protect the element.
Ordered from most to least likely: a clogged or oily filter, a water level below the skimmer, a partially closed slice valve after recent service, an air lock in the plumbing after a refill, a jammed or failing circulation pump, or a pressure switch or flow switch that has failed and is reporting a false negative.
The good news is that the top four are owner-fixable and account for most cases. FL1 and FL2 on some packs distinguish a persistent versus intermittent fault; FLC generally indicates the switch is closed when it should be open, which points at the switch itself rather than the water.
The Overheat Family: OH, HH, OHH, OHS
The water reached a temperature the pack considers unsafe, usually 110°F or above, and the system has locked out heating. Do not get in, and do not simply reset and walk away.
Real overheat happens when a pump runs continuously and adds friction heat, when a tub sits in direct summer sun with the cover on, or when circulation is restricted enough to superheat water at the element. False overheat happens when a temperature sensor fails and reports a number that is not real. Both need attention; only one is dangerous to bathers, and you cannot tell which from the panel.
Let the water cool with the cover off before doing anything else. If the code returns as soon as the tub reheats, the fault is in the sensor or the flow, not the weather.
The Freeze Family: ICE, IC, SNOWFLAKE
The pack has detected a temperature low enough to threaten the plumbing and is running pumps to keep water moving. In the High Country this is the system doing its job on a cold night, and seeing it occasionally at Beech Mountain or Sugar Mountain elevations is normal.
What is not normal is an ICE indication that persists in mild weather, or one that appears alongside a flow code. That combination means the tub is trying to protect itself and cannot circulate — the exact condition that cracks manifolds. In winter, treat that pairing as an emergency.
The Sensor Family: SN1, SN2, SN3, SNA, SNB, SESN
A temperature sensor is open, shorted, or reading implausibly. Sensors are inexpensive parts; the diagnosis is confirming which of the two (high-limit or regulation) has failed and whether the harness or the pack is actually at fault. A sensor code will not usually let the tub heat at all, which makes it urgent in winter regardless of how minor the part is.
The Dry-Heat Family: dr, dry, DRY, HTR
The pack believes the heater is not surrounded by water. This is the code you least want to ignore, because running an element dry destroys it in minutes. Causes are a genuinely low water level, a severe air lock, or a heater that has already failed. Shut the tub down at the breaker and check the water level before anything else.
The Five-Minute Triage Before You Call
Take a picture of the exact code and note whether it is steady or flashing. Photograph the model plate inside the equipment door too. This alone often shortens the service call.
It should sit above the highest skimmer intake. Low water causes flow codes, dry-heat codes, and air locks, and it is the most common single cause we find.
If it is grey, oily, or matted, run the tub briefly with the filter removed. If the code clears, you found it. Clean or replace before putting it back.
If anyone has serviced or drained the tub recently, a slice valve may be partly closed. Confirm both are fully open.
Kill the breaker for 60 seconds and restore it. This clears latched faults and can release a minor air lock. If the code comes back, stop. Repeated resets on an overheat or dry-heat condition risk real damage.
Which Codes Are a Winter Emergency
In a High Country January, urgency is not about the tub — it is about the plumbing. Any code that stops circulation while temperatures are below freezing puts you hours away from cracked pipes. That means a flow code that will not clear, an ICE indication paired with anything else, a sensor code preventing heat, or a dry-heat code all warrant a same-day call rather than a weekend of troubleshooting.
Codes that can usually wait a day or two: a cool-water indication in mild weather, a filter-cycle reminder, or a single flow code that cleared after a filter change and has not returned.
Why Rentals Throw More Codes
Bather load is the difference. Ten guests over a weekend load a filter faster than a couple does in a month, splash out enough water to drop the level below the skimmer, and leave enough oil in the water to blind a cartridge. Nearly every flow code we clear at a short-term rental traces back to filter condition or water level — both of which are prevented, not repaired, by a service cadence that matches how hard the tub is actually working.
That is the argument for scheduled service on a rental in one sentence: codes appear on Friday afternoons, and the ones that ruin a booking are almost always the ones a Tuesday visit would have prevented.