Hot Tub Error Codes Explained: What FLO, OH, SN, and HL Actually Mean
Modern spas tell you exactly what's wrong if you know the code. Here's every common error decoded — Balboa, Gecko, Hydro-Quip, and Sundance.

Every modern hot tub has the same basic safety logic: a control pack constantly monitors temperature, water flow, and electrical health, and shuts the spa down the moment anything looks unsafe. The cryptic 2–3 letter code on your topside is the spa telling you exactly what triggered the shutdown — if you know how to read it.
This guide decodes every common error code across the four major control systems you'll encounter in U.S. spas: Balboa, Gecko (in.YE/in.YJ), Hydro-Quip, and Sundance / Watkins.
Flow-related codes: FLO, FL1, FL2, FLOW, dr
These all mean the same thing: the control board isn't seeing water flow through the heater when it expects to. The heater will not energize, so the spa will not heat.
Common causes, in order of frequency:
- Dirty filter — restricts flow below the pressure switch threshold
- Closed shut-off valves before the pump
- Airlock in the plumbing after a drain-and-refill
- Failed circulation pump or jet pump 1 low-speed
- Stuck or failed pressure / flow switch
- Scale built up inside the heater manifold
First thing to try: rinse the filter, top up the water, and bleed the pump (loosen the top union slightly until water spits out, then close).
Overheat codes: OH, OHH, OHS, OHNN
The spa has measured water temperature above its safe limit, usually 108°F (42°C) or higher. The heater is locked out; circulation continues to dissipate heat.
Causes:
- Long pump runtime in hot weather with a sealed cover (pumps add ~3°F per hour)
- Stuck high-limit sensor reading falsely high
- Failed temperature sensor
- Sticking relay keeping the heater on continuously
Let the spa cool with the cover off for 1–2 hours. If the code clears and doesn't return for a week, it was likely heat-stacking. If it returns within a day, it's a sensor or relay problem.
High-limit codes: HL, HFL, HiLimit
The high-limit safety circuit tripped. Different from OH in that this is a hardware-level trip, not a software temperature reading. The heater will not re-engage until the cause is found and the system is reset (sometimes auto, sometimes manual).
Causes:
- Failed flow (same as FLO codes) that didn't shut the heater off in time
- Scaled heater element that ran hot enough to trip the over-temp
- Mechanical failure of the high-limit sensor itself
Treat any HL code as a real diagnostic call — this is the safety circuit doing its job, and ignoring it can mean a steam explosion in extreme cases.
Sensor codes: SN, SnA, SnB, Sn1, Sn2, OHS
The control pack can't get a sensible reading from one or both temperature sensors.
- SnA / Sn1: temperature sensor fault
- SnB / Sn2: high-limit sensor fault
- OHS: sensors disagree by more than the spa's tolerance
Causes:
- Disconnected sensor plug (very common after a service visit)
- Corroded sensor terminals on the control board
- Failed sensor element — they cost $25–$60 to replace and are a 15-minute job
A sensor fault almost always requires part replacement, but the diagnosis is quick.
Dry-fire codes: dr, dry, dryY
The control pack detected the heater energized without water flow. This is a serious condition — even a few seconds of dry-fire can destroy a heater element.
Causes:
- Major airlock after a refill
- Empty spa (someone forgot to refill before powering on)
- Catastrophic flow failure mid-cycle (pump seizure, blown impeller)
If you see "dr," stop. Power the spa down at the breaker, verify it's full, check for obvious leaks, and call a pro if you can't immediately identify why flow was lost.
Ice / freeze codes: ICE, COOL, IC
The spa is in freeze-protection mode. Pumps will run periodically to keep water moving even when the spa isn't heating. This is not an error — it's the spa's freeze logic doing exactly what it should.
If you see ICE in summer, you have a failed temperature sensor reading too low.
Communication codes: COM, COMM, no connect
The topside panel and the control pack aren't talking.
Causes:
- Damaged ribbon cable between topside and main board
- Corroded plug at either end
- Failed topside controller
Disconnect, inspect the plug visually, re-seat firmly. If the code persists, the cable or topside needs replacement.
Brand-specific codes worth knowing
Balboa-only
- rcF / pnLF: panel-to-board mismatch — usually a config issue after a board swap
- PUMP: stuck pump relay
Gecko (in.YE / in.YJ)-only
- HH: non-recoverable high-limit; manual reset required at the spa pack
- LF / Hr: low-flow detected; the system shut a pump down for safety
- AOH: ambient overheat — the air around the spa pack is too hot
Hydro-Quip / Eco-Spa
- HtR: heater fault, similar to HL but on HQ controllers
- CHFL: check flow, equivalent to FLO
Sundance / Watkins
- FL1 / FL2: flow fault on circulation or jet pump
- rPF: real-time clock fault on Sundance 800-series
What to do with any error code
The process is always:
- Write down the exact code — every letter and number
- Note when it appeared — after a refill, a storm, a service visit, etc.
- Try the simple things first: check filter, water level, breaker
- Don't reset more than twice. If it returns, call a pro.
When you call dispatch with the exact code, we can quote about 80% of repairs over the phone, which means a faster, cheaper visit.
Still seeing an error?
We service every major control system — Balboa BP/GS/EL series, Gecko in.YE/in.YJ/in.XM, Hydro-Quip universal packs, Sundance MP/LX, and Watkins IQ2020. Most diagnostics are completed in under an hour. Call dispatch any time.