Hayward heat pumps don't all speak the same language. The standard models show short letter codes like FLo, LP and HP; the inverter HeatPro HP31005T shows codes like E03, E08, P05 and F05. Here's what each one means, which ones you can fix yourself, and which two aren't errors at all, from Hayward's own manuals.
Redzone Pools repairs Hayward, Pentair and Jandy heat pumps and gas heaters across Cypress, Tomball, Katy, Spring and Greater Houston — licensed, insured, usually same day.
A Hayward heat pump error code is a short code on the heat pump's display that names a fault, from low water flow to a failed sensor, or shows an operating mode such as defrost. Which codes you'll see depends on the model, so check the label on your unit:
On the standard models, Hayward says the heater resets automatically once the error condition is corrected and carries on running. Both manuals list a minimum water flow of 30 gallons a minute, which is why so many of these codes come back to flow.
| Code | What Hayward says it means | What to check |
|---|---|---|
| FLo | The water pressure switch circuit is open: low or no water flow, or a remote on/off in use | Pump on, filter clean, valves fully open, any bypass valve closed; turn off fountains |
| LP | The low-pressure switch circuit is open: an air flow obstruction, the low ambient temperature cutoff, or low refrigerant | Clear debris restricting air flow; in cold weather, wait for the outside temperature to reach 60°F; refrigerant is a service call |
| HP | The high-pressure switch circuit is open: low water flow or high water temperature | Flow first; if the pool is already warm, wait until it needs heat |
| FS | Defrost mode: frost on the evaporator coil | Nothing. Hayward says the unit is defrosting automatically |
| SO / SS | Water temperature sensor open (not connected) or short circuit | A technician |
| dSO / dSS | Coil temperature sensor open or short circuit | A technician |
| (blank) | No power: a tripped breaker or no power supply, or a faulty electrical part | The breaker; a technician if it isn't that |
If the display is on but the unit won't start, Hayward lists two simple causes before anything else: the master power switch is off, or the unit is in its 5-minute delay. Give it five minutes.
bo means bypass operation. On the standard models, it's a mode where the heat pump ignores its own set point and only responds to a remote relay, such as an automation system: off when the relays are open, heating when the heating relay closes. Hayward's manual turns it on by holding MENU and + until "bo" appears, and back to normal by holding MENU and + until "n" appears. On the HP31005T, Hayward says that while bypass operation is enabled the display shows "bo" and no heater operation will occur until it's disabled in the user settings.
So if your heat pump shows "bo" and won't heat on its own, check whether it was set up to be run by your automation before you assume something's broken.
rC on the HP31005T means a Hayward Omni automation system is connected and in control, so no manual operation is possible from the heat pump's own panel. If a fault happens, the error code shows on the heat pump's display instead, and it goes back to "rC" once the fault clears.
The HP31005T manual lists more than forty codes. These are the ones you're most likely to see:
| Code | What Hayward says it means | Hayward's solution |
|---|---|---|
| E01 | High-pressure protection: the high-pressure switch is broken | Check the pressure switch and refrigerant circuit (technician) |
| E02 | Low-pressure protection | Check the pressure switch and refrigerant circuit (technician) |
| E03 | Flow switch protection: no or little water in the water system | Check the water flow and the water pump |
| E05 | Waterway antifreeze protection: water or air temperature too low | Check whether the water and air are too cold |
| E06 | Inlet and outlet temperature too high: water flow too low | Check the water flow and whether the system is jammed |
| E07 | Antifreeze protection: water flow too low | Check the water flow and whether the system is jammed |
| E19 / E29 | Primary / secondary antifreeze protection: air temperature too low | Check whether the air is too cold |
| TP | Low ambient temperature protection | Check whether the air is too cold |
| E08 | Communication failure between the controller and the main board | Check the connection between the controller and the main board |
| E051 | Compressor overcurrent protection | Check the compressor is running normally (technician) |
| P01 / P02 | Inlet / outlet water temperature sensor broken or short circuit | Check or change the sensor |
| P04 / P05 | Air temperature sensor / coil 1 temperature sensor broken or short circuit | Check or change the sensor |
| PP | Pressure sensor broken | Check or change the pressure sensor |
| F05 | DC fan fault: motor current feedback open or short circuit | Check the fan motor's current wires are connected |
| F31 / F32 / F51 | Fan motor fault: a locked motor, a bad wire connection, or the fan stopped | Check the wiring; a locked motor needs replacing |
| F07 / F08 / F09 | Inverter DC bus voltage too high, too low, or input voltage too low | Check the input voltage |
Codes searched as "P5" and "F5" are P05 and F05 on this model. Hayward notes that some inverter alarms recover on their own, such as F01 and F03 after 150 seconds. The rest of the F codes are faults on the inverter board, and every sensor, pressure-switch and board code is work for a technician.
Five of these codes come back to the same thing: not enough water moving through the heat pump. Hayward's checks are the same for all of them: make sure the pool pump is on, clean the filter, open all the valves fully and close any bypass valve, and turn off fountains or other features pulling water away.
A dirty filter is a common cause, especially in leaf season; our guide to filter pressure that stays high after backwashing covers what to do when cleaning doesn't bring it down. Hayward lists a minimum of 30 gallons a minute, so if the codes started after a variable-speed pump's schedule changed, check that the pump runs fast enough while the heat pump is on.
A heat pump heats with the air, so cold mornings bring their own codes. On the standard models, LP can be the low ambient temperature cutoff, and Hayward's answer is to wait for the outside temperature to reach 60°F; their air operating range is 40°F to 115°F. FS is the defrost cycle, and there's nothing to do. On the HP31005T, TP, E19 and E29 all mean the air is too cold, and E05 that the water or air is.
If it heats again by the afternoon, it's the weather, not a fault. Our guide to a pool heat pump not heating in cold weather explains defrost and low-temperature shutdowns in more detail, and how they compare with Pentair's UltraTemp. For Pentair's alarms, see our UltraTemp error code guide.
Call when a code keeps coming back after the flow checks, when it won't heat on a mild afternoon, and for any sensor, pressure-switch, fan or inverter code. Hayward's manual says its troubleshooting instructions are for qualified, trained service personnel, not do-it-yourself repairs, and anything involving the refrigerant is always a service call.
Our heater repairs run from about $200 for a small component to $1,000 or more, and a replacement heat pump is roughly $6,000 to $6,500 installed, so a proper diagnosis comes first. For gas heaters, see our Hayward H-Series heater codes; for everything else, see pool heater repair.

The low-pressure switch circuit is open. Hayward lists three causes: something blocking the air flow, the low ambient temperature cutoff (wait for the outside temperature to reach 60°F), or low refrigerant, which needs a service call.
On the HP31005T, E03 is flow switch protection: no or little water in the water system. Check that the pump is running, the filter is clean and the valves are open. Hayward lists a minimum flow of 30 gallons a minute.
A communication failure between the controller and the main board. Hayward's solution is to check the connection between them, which means opening the unit, so it's a job for a technician.
Bypass operation, not an error. The heat pump only responds to a remote relay, such as automation, instead of its own set point. On the standard models, hold MENU and + until "n" appears to return to normal; on the HP31005T, disable bypass operation in the user settings.
On the HP31005T, P05 is a coil 1 temperature sensor that's broken or short-circuited, and F05 is a DC fan fault, where the motor current feedback is open or short-circuited. Both are technician repairs.
The water pressure switch circuit is open: low or no flow, or a remote on/off in use. Make sure the pool pump is on, clean the filter, open the valves fully, close any bypass valve and turn off fountains.
Tell us the model and the code. If it's flow or the weather, we'll tell you so; if it's a sensor, a fan or the board, we'll come out and fix it. Licensed, insured, serving Cypress and Greater Houston.