The Control Problem
Commercial pool installations involve more than switching a pump on and off. The filtration system must run long enough to turn over the water volume completely, but running it at full duty regardless of water temperature wastes significant energy. Bacterial and algae growth accelerates in warm water, so filtration demand is genuinely temperature-dependent. A controller that adjusts daily run time based on measured water temperature can reduce pump energy consumption substantially during cooler months without compromising water quality.
Beyond filtration, the system must manage a swimjet pump, timed underwater lighting, and water chemistry visibility through pH monitoring. All of this needs to be accessible remotely by the pool operator or a maintenance company, with reliable scheduling even through power outages.
This panel was engineered and assembled by Aquel, an Athens-based automation company that builds control panels for several of Greece's leading pool construction firms. The panel around an EQSP32CE controller and an EQXPH01 pH expansion module.
I/O Inventory
Five of the EQSP32CE's sixteen I/O channels are used in this installation. The remaining eleven are available for future expansion, such as automated pool cover control, chemical dosing pumps, UV disinfection, or additional lighting zones. The pH probe is connected through the EQXPH01 expansion module on the expansion bus, keeping the main I/O headroom intact.
| Signal | Type | Mode | Notes |
|---|---|---|---|
| Filter pump 1 contactor coil | RELAY out | RELAY | Via intermediate relay; drives three-phase motor contactor |
| Filter pump 2 contactor coil | RELAY out | RELAY | Via intermediate relay; alternates daily with pump 1 |
| Swimjet pump contactor coil | RELAY out | RELAY | Via intermediate relay; manual or scheduled activation |
| Underwater lighting relay | RELAY out | RELAY | Switched at configurable daily on/off times |
| Water temperature | TIN analog in | TIN | 10 kΩ NTC thermistor; drives filtration schedule logic |
| Water pH | EQXPH expansion | Expansion bus | EQXPH01 module; auto-detected on power-up |
Three-Phase Pump Wiring and Panel Architecture
The two filter pumps are 4 HP three-phase units. Because the EQSP32's solid-state outputs are rated at 1 A each, they cannot drive motor contactors directly. The panel uses a two-stage switching chain for each pump:
- EQSP32 output (RELAY mode) energises a small 24 V intermediate relay coil. This stage handles logic-level switching and provides galvanic isolation between the controller and the AC circuits.
- Intermediate relay contact energises the coil of the three-phase motor contactor, which in turn connects the 400 V three-phase supply to the pump motor.
- Motor protection switch in series with each pump provides overload and short-circuit protection, with a manual trip for maintenance isolation.
This intermediate relay layer is standard practice among professional panel builders. Rather than driving high-power contactors and solenoids directly from a PLC output, experienced integrators insert a small interface relay (typically a Finder, Phoenix Contact, or Weidmuller 5–10 A unit) between the controller and the load. The reasons are straightforward: interface relays are inexpensive, carry a status LED for instant diagnostics, absorb inductive kickback from contactor coils, and can be swapped without touching the PLC or the power contactors. Aquel applies this practice consistently across all their panels.
This is also why solid-state transistor outputs on the EQSP32 are the right choice for panel integration work. Since the interface relay layer goes in regardless, a dry-contact relay output on the controller adds no practical advantage — it simply increases the cost and physical size of the controller. Solid-state outputs deliver the same result with a lower per-point cost, more points in the same footprint, and no contact wear on the controller side.
Manual override switches are mounted above the contactors for all three pump circuits. These allow any pump to be operated independently of the EQSP32 — useful during maintenance, commissioning, or any situation where the automation logic needs to be bypassed without powering down the panel.
Temperature-Adaptive Filtration
The core energy-saving logic adjusts the total daily filtration runtime based on current water temperature. As water warms, the rate of bacterial growth and algae development increases, so the filtration system must work harder to maintain water quality. In cooler periods, the biological load is lower and the same level of water clarity can be maintained with shorter filtration cycles.
The EQSP32 reads the NTC thermistor continuously and selects one of four filtration windows from a lookup table. The controller's NTP-synchronized real-time clock distributes the required runtime across two or three evenly spaced intervals during the day, rather than running one long continuous cycle. This reduces thermal stress on pump bearings and spreads electrical load throughout the day.
| Water temperature | Daily filtration target | Typical split |
|---|---|---|
| Below 16 °C | 3 hours | 2 × 90 min |
| 16 – 22 °C | 5 hours | 2 × 150 min |
| 22 – 28 °C | 7 hours | 3 × 140 min |
| Above 28 °C | 9 hours | 3 × 180 min |
Energy impact: Stepping filtration from 9 hours (summer peak) down to 3 hours (winter off-season) reduces pump energy consumption by two thirds. For a typical 4 HP pump running at approximately 3 kW, that is a saving of roughly 18 kWh per day in winter compared to a fixed summer schedule, with no reduction in water quality during the colder months.
Pump alternation
The two filter pumps alternate on a 24-hour cycle. Each day, the active pump changes, distributing mechanical wear equally across both units. Both pumps accumulate the same total run hours over a season, extending service intervals and reducing the risk of one pump failing from overuse while the other sits idle. The controller tracks which pump ran last in non-volatile memory so alternation is preserved across power cycles.
Solar-aware scheduling
The temperature-adaptive logic determines how many hours of filtration are needed each day. A further layer of optimisation controls when those hours run. If the site has a photovoltaic installation, shifting the filtration windows into the hours of peak solar production reduces grid energy consumption and maximises self-consumption of locally generated power.
The EQSP32 can support this in two complementary ways. The simpler approach uses a weather forecast API: the controller queries the API once per day over Wi-Fi and retrieves the expected solar irradiance profile for the next 24 hours. On a forecast sunny day, the filtration windows are biased toward the midday band (roughly 10:00 to 16:00); on a cloudy or winter day, the windows are distributed more evenly or shifted to off-peak tariff hours depending on the operator's preference.
Where a PV inverter with a Modbus or RS485 interface is present on site, the EQSP32 can go further and read real-time generation figures directly. If the instantaneous export exceeds the pump's consumption, the controller starts or extends a filtration window to absorb the surplus. When generation drops below a threshold, it defers the remaining runtime to the next production window rather than drawing from the grid. This closes the loop on solar self-consumption without requiring a separate energy management system.
Implementation note: Weather API integration and direct inverter Modbus polling each require a modest firmware addition. Both are well within the EQSP32's capability given its native Wi-Fi connectivity, RS485 Modbus-RTU master, and the 11 free I/O channels that remain unused in this panel. No additional hardware is needed for either approach.
Swimjet Pump Control
The swimjet pump is assigned its own relay output and controlled exclusively from the smartphone dashboard over MQTT. There is no dedicated physical pushbutton for this function; the operator turns the swimjet on and off from the app. To guard against the swimjet being left running unintentionally, the firmware includes a hardcoded 20-minute timeout: if the pump has not been manually switched off within 20 minutes of activation, the controller cuts it automatically. This protects the pump motor from extended unattended operation and prevents unnecessary energy use.
The swimjet relay is wired through the same intermediate relay architecture as the filter pumps. A manual override switch on the panel allows the swimjet to be run or isolated independently of the controller during maintenance or commissioning.
Scheduled Lighting Control
Underwater lighting is controlled by a single relay output with configurable daily on and off times, set through the MQTT dashboard or directly in the controller configuration. The EQSP32 maintains accurate time via NTP synchronisation, so the lighting schedule remains correct even after mains power interruptions. No manual clock adjustment is needed across daylight saving changes.
Water Temperature and pH Monitoring
Temperature
A 10 kΩ NTC thermistor is connected to an analog input pin configured in TIN mode. The EQSP32 firmware converts the raw ADC reading to a Celsius value in tenths of a degree. This value is both published over MQTT for display on the remote dashboard and fed into the filtration schedule logic in real time. If the sensor reading falls outside a plausible range (indicating a wiring fault or failed thermistor), the controller falls back to the highest filtration tier as a safe default.
pH monitoring via EQXPH
The EQXPH01 expansion module is mounted directly beside the EQSP32CE on the DIN rail and connects via the expansion bus. The module is auto-detected on power-up; no address configuration or additional wiring is required beyond the pH probe connection to the module's dedicated terminals.
The pH reading is published over MQTT alongside temperature data, giving the pool operator and the pool service technician real-time visibility of water chemistry from any location. The current installation uses pH as a monitoring signal only. The relay output headroom on the EQSP32 is sufficient to add an acid or alkali dosing pump to close the loop on pH control without any hardware changes.
Future upgrade path: Adding pH control requires only a dosing pump connected to one of the eleven free relay outputs and a simple hysteresis control block in the firmware. No additional controller hardware is needed.
Modbus Integration with Pool Chemistry Controllers
Professional pool chemistry systems, from manufacturers such as Bayrol, Prominent, and Innowater, expose their measurement and status data over Modbus-RTU via an RS485 port. These units handle pH dosing, ORP (Redox) monitoring, and in some configurations free chlorine or salt measurement. The EQSP32CE has a dedicated RS485 port, and its firmware supports Modbus-RTU master operation natively, making it straightforward to poll a chemistry controller at regular intervals without any additional hardware or gateways.
What the EQSP32 reads from the chemistry controller
A typical Modbus poll cycle, running every 30 seconds, retrieves the following from the chemistry unit's holding registers:
- pH measurement — the calibrated, temperature-compensated value from the chemistry controller's own probe, which is typically more accurate than a standalone pH module.
- ORP / Redox potential — a direct indicator of water sanitisation effectiveness, independent of chlorine type (free chlorine, salt electrolysis, or UV).
- Dosing pump statuses — whether the acid and alkali (or chlorine) dosing pumps are currently running, stopped, or in alarm.
- Alarm flags — out-of-range pH, low reagent level, probe fault, or dosing timeout alarms, encoded as register bits.
Local decisions using chemistry data
Having the chemistry data available locally inside the EQSP32 allows the controller to act on it without waiting for a human response. For example, if the chemistry controller raises a pH out-of-range alarm, the EQSP32 can immediately publish an alert to MQTT so the maintenance company is notified. If ORP drops below a configurable threshold during a filtration cycle, the EQSP32 can extend that cycle automatically to compensate. These decisions happen locally within the controller; no cloud round-trip is required.
Remote monitoring and adjustment without site visits
All chemistry readings and alarm states are forwarded to the MQTT broker alongside the existing temperature, pump, and lighting telemetry. The pool maintenance company subscribes to a single dashboard that aggregates every site they manage. pH and ORP trends over the past 24 hours are immediately visible without anyone needing to visit the site.
When an adjustment is required, for example raising the pH setpoint for the summer season, the technician publishes the new value to an MQTT command topic from the dashboard. The EQSP32 receives it and writes it to the appropriate Modbus holding register on the chemistry controller. The change takes effect at the next dosing cycle. The entire operation takes seconds and requires no site visit, no key to the plant room, and no access to a proprietary configuration tool.
Operational impact for pool service companies: Remote chemistry monitoring via MQTT allows a technician to assess the status of every managed pool from a single screen each morning. Only sites showing out-of-range values or alarm flags require a visit that day. Reactive site visits replace scheduled ones, reducing fleet kilometres and labour time while improving water quality response times.
MQTT Telemetry and Remote Monitoring
The EQSP32 connects to an MQTT broker over Wi-Fi and publishes sensor data and output states at a configurable interval. The broker can be a self-hosted instance (Mosquitto) on a local server or mini PC, or a managed cloud broker such as HiveMQ or EMQX Cloud. For pool maintenance companies managing multiple sites, a single cloud broker subscription can aggregate telemetry from all panels into one monitoring interface.
A smartphone dashboard built on any MQTT-compatible UI framework — Node-RED Dashboard, MQTT Dash, or a custom web app — gives the pool operator live visibility of water temperature, pH, ORP, pump states, chemistry alarms, and schedule settings. The same dashboard sends lighting schedule changes, swimjet commands, and pH setpoint adjustments back to the controller. For pool maintenance companies managing multiple sites, a single cloud broker subscription aggregates telemetry from every panel into one screen.
Network resilience: If the Wi-Fi connection or MQTT broker is unavailable, all scheduled automation continues to run from the EQSP32's internal real-time clock. The NTP time is retained until the next successful synchronisation. No locally programmed schedules are lost due to network interruption.
Why EQSP32
RELAY mode output protection
Outputs configured in RELAY mode energise at full duty to overcome inrush, then automatically derate to a lower holding power. This prevents relay contact overheating on inductive loads and extends contact life on long-running pump circuits.
TIN mode for direct NTC connection
The TIN input mode handles the NTC-to-temperature conversion in the EQSP32 firmware. The raw thermistor is connected directly to the input terminal with no external signal conditioning circuit, reducing wiring complexity and potential fault points.
EQXpansion bus for pH
The EQXPH01 pH module plugs into the expansion bus and is auto-detected on boot. Adding pH monitoring to the panel required no additional controller hardware, no address configuration, and no firmware changes to support the interface.
NTP-synchronised scheduling
The real-time clock stays accurate via NTP, eliminating the drift that accumulates in standalone RTCs. Lighting and filtration schedules remain correct year-round, including through power outages, without manual clock adjustments.
MQTT-native communication
MQTT is built into the EQSP32 firmware, with no dependency on a proprietary cloud platform or third-party IoT app subscription. The broker choice is entirely the integrator's: local, cloud, or both, with the same firmware code unchanged.
Eleven I/O channels free for expansion
With five channels in use, more than two thirds of the I/O capacity is available for future additions: automated pool cover, acid dosing pump, UV disinfection, electrolysis control, or additional lighting zones, all without changing the controller.
Modbus-RTU master over RS485
The built-in RS485 port running Modbus-RTU allows the EQSP32 to poll professional chemistry controllers directly. pH, ORP, dosing pump status, and alarm registers are read periodically, acted on locally, and forwarded to MQTT — giving service companies full remote visibility and remote setpoint adjustment without a proprietary gateway or a site visit.
Ready to specify?
The EQSP32CE, used in this panel, includes 4–20 mA inputs, CAN bus, and Ethernet alongside Wi-Fi and BLE. The EQXPH01 pH expansion module connects directly to the expansion bus and is auto-detected at power-up.
Go to shop