Start Here
π Welcome to the Smart Swimming Pool project! This page helps you find the right path based on what you want to build.
Choose Your Path
π° I want the simplest possible setup
Goal: Automate pool circulation with minimal cost and effort.
- Use a breadboard or protoboard with ESP32 DevKit V1
- 2-channel relay module for pump control
- 2Γ DS18B20 temperature sensors
- Flash the pre-built firmware
- Control via Home Assistant
Start here: Pool Controller β Build from Zero
| Component | Approx. Cost |
|---|---|
| ESP32 DevKit V1 | 8β12 β¬ |
| 2-ch relay module | 4β6 β¬ |
| 2Γ DS18B20 sensors | 6β10 β¬ |
| Breadboard + wires | 5 β¬ |
| Total | ~30 β¬ |
π I have a standard pool with sand filter and solar heating
Goal: Full automation with circulation scheduling and solar heating.
- Follow the Build from Zero guide
- Use an IP65 enclosure for weather protection
- Proper mains wiring with fuse and RCD protection
- Home Assistant integration for dashboard and automation
- MQTT for reliable communication
Required reading:
π I’m building a production-ready installation
Goal: Industrial-grade, 24/7 reliable pool controller with full safety.
- Use the NORVI AE01-R or custom PCB for reliability
- IP66+ enclosure with cable glands
- DIN-rail mounted components
- Proper overcurrent protection and grounding
- Flash encryption enabled
- IoT VLAN with firewall rules
- Regular maintenance schedule
Required reading:
Architecture Overview
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Pool Environment β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββ β
β β Pool β β Solar β β Sand β β Heat β β
β β Pump β β Pump β β Filter β β Exchanger β β
β ββββββ¬ββββββ ββββββ¬ββββββ ββββββββββββ ββββββββ¬ββββββββ β
β β β β β
βββββββββΌβββββββββββββββΌβββββββββββββββββββββββββββββββΌββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Pool Controller (ESP32) β
β ββββββββββββββ ββββββββββββββ ββββββββββββββββββββββββ β
β β DS18B20 β β DS18B20 β β 2-Ch Relay Module β β
β β Pool Temp β β Solar Temp β β GPIO18 β Pool Pump β β
β β GPIO16 β β GPIO15 β β GPIO19 β Solar Pump β β
β ββββββββββββββ ββββββββββββββ ββββββββββββββββββββββββ β
β β β
β βββββββ΄βββββββ β
β β WiFi STA β β
β β MQTT Pub β β
β β Web UI β β
β βββββββ¬βββββββ β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β MQTT
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Smart Home Server β
β ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ β
β β Home Assistant β β MQTT Broker (Mosquitto) β β
β β β’ MQTT Discovery β β β’ pool-controller/# topics β β
β β β’ Lovelace UI β β β’ Auth enabled β β
β β β’ Automations β β β’ Local only β β
β ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββRepository Overview
| Repository | Purpose | Language |
|---|---|---|
| pool-controller | ESP32 firmware, web UI, hardware docs | C++ (PlatformIO) |
| website | Project website (Hugo) | Markdown, Hugo |
| openhab-config | openHAB configuration (legacy) | openHAB DSL |
| monitor | Solar-powered temperature display | C++ |
| grafana-dashboard | Grafana dashboard JSON | JSON |
FAQ
Do I need Home Assistant?
No. The controller has a built-in web interface for direct management. Home Assistant provides a nicer dashboard and automation capabilities, but is not required.
Can I use openHAB instead?
Yes. openHAB is supported via MQTT. See the openHAB configuration repository. Note that Home Assistant Discovery is now the primary integration path β openHAB requires manual MQTT configuration.
What if I don’t have solar heating?
No problem. The solar pump functions can be left unused. The controller works perfectly with just pool circulation.
Can I use this with any pool pump?
Yes, as long as the pump can be switched on/off via a relay (mains voltage). Most sand filter pumps support this. Check your pump’s wiring diagram.
What is the maximum cable length for DS18B20 sensors?
Up to 10 meters with 4.7 kΞ© pull-up. For longer runs, use a lower value pull-up (e.g., 2.2 kΞ©) or a dedicated OneWire driver.
Do I need to be an electrician?
Basic wiring (relays to pumps) requires working with 230V AC. If you’re not comfortable with mains voltage, hire a qualified electrician.
Can I use the controller without WiFi?
The controller needs WiFi for MQTT communication, but it continues running with its last known configuration if WiFi is lost. A future version will support standalone operation with a display and buttons.
Next Steps
- Read the Build from Zero guide
- Order the parts from the bill of materials
- Build and test on a breadboard
- Install in an enclosure
- Integrate with Home Assistant
- Enjoy your smart pool!