Skip to content

Pool Controller

πŸŽ›οΈ Pool Controller

The Pool Controller is the heart of the Smart Swimming Pool system. It’s an ESP32-based device that provides central control logic for your pool automation.

πŸ’‘ Overview

The Pool Controller handles:

  • Temperature Monitoring: Reads data from DS18B20 temperature sensors (pool water and solar collector)
  • Pump Control: Controls circulation and heating pumps via relay modules
  • Automation Logic: Implements heating logic with hysteresis and temperature thresholds
  • Circulation Scheduling: Automated timing for sand filter cleaning
  • MQTT Integration: Publishes all data using Home Assistant MQTT Discovery format
  • Web Interface: Built-in configuration UI for easy setup
  • Autonomous Operation: Works independently without a smart home server

✨ Key Features

  • βœ… ESP32-based: Powerful microcontroller with WiFi connectivity
  • βœ… MQTT Discovery: Automatic integration with Home Assistant
  • βœ… Web UI: Easy configuration via browser
  • βœ… Active-Low Relays: Safe default state (relays OFF during boot)
  • βœ… Separate GPIO per Sensor: Independent fault detection
  • βœ… Offline Operation: Continues working without WiFi
  • βœ… Open Source: MIT License, free to use and modify

🧭 Quick Links

Getting Started

Hardware

Firmware

Advanced

πŸ”§ Hardware Requirements

Minimum Setup

ComponentPurposeApprox. Cost
ESP32 DevKit V1Main controller8-12 €
2-Channel Relay ModulePump control4-6 €
2Γ— DS18B20 SensorsTemperature measurement6-10 €
4.7kΞ© Resistors (2x)Pull-up resistors< 1 €
Breadboard + WiresPrototyping3-8 €
Total~35–55 € (see BOM)

Production Setup

ComponentPurposeApprox. Cost
NORVI AE01-RIndustrial ESP3225-30 €
IP65 EnclosureWeather protection10-15 €
DIN Rail ComponentsProfessional mounting15-20 €
Total~75 €

πŸ“Œ Pin Configuration

Default pins of the ESP32 DevKit build (esp32dev). The NORVI AE01-R and Olimex ESP32-C6-EVB builds use their own pin maps, see src/Config.hpp and the board pages linked above.

FunctionESP32 PinNotes
Solar Sensor (DS18B20)GPIO32OneWire data
Pool Sensor (DS18B20)GPIO33OneWire data
Heating Pump RelayGPIO26Active-low
Filter Pump RelayGPIO25Active-low
Relay Module VCC5V (VIN)NOT 3.3V!
Relay Module GNDGNDCommon ground
Sensor VDD3.3VPower for sensors
Sensor GNDGNDGround for sensors

⚠️ Important: Each DS18B20 data line requires a 4.7kΩ pull-up resistor to 3.3V.

πŸš€ Next Steps

  1. Start Here - Choose your path based on your goals
  2. Quick Start - Fastest way to get running (60 minutes)
  3. Build Guide - Comprehensive build guide
  4. Home Assistant Integration - Smart home integration

πŸ’¬ Need Help?

Last updated on