

Ardipool
Swimming pool management with an esp32
- Size
- 205.7 × 137.2 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 21
- Nets
- 132
- Pads
- 181
- Tracks, vias
- 60, 0
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 30 Apr 2020
- Updated
- 22 Feb 2026
Overview
Ardipool is an open-source printed circuit board by golgoth31, from the golgoth31/domopool repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 205.7 × 137.2 mm with 21 parts on 132 nets, routed with 60 tracks and 0 vias.
It is built around the ESP32-DEVKITC-VE, DS18B20 and ADS1115IDGS, with the DS3231MZ+, TXS0108EPW and BC557 among its other parts. Its parts include 12 connectors, 6 ICs, 2 resistors and 1 transistor. It belongs with the ESP32 boards of this library.
Main components
6ESP32-DEVKITC-VE
-- WiFi Modules ROHSEspressif SystemsWiFi ModulesDS18B20
TO-92-55℃~+125℃ 12bit 3V~5.5V 750ms Single-bus ±0.4℃ TO-92 Temperature Sensors ROHSUMWTemperature SensorsADS1115IDGS
MSOP10Ultra-Small, Low-Power, 4 Channels 16-Bit Analog-to-Digital Converter with Internal ReferenceTexas InstrumentsUncategorisedDS3231MZ+
SOIC-8-40℃~+85℃ 2.3V~5.5V I2C Temperature compensation、Backup power management and battery charging、Alarm function、Periodic interrupt output SOIC-8 Real Time Clocks ROHSMaxim Integrated (Analog Devices)Real Time ClocksTXS0108EPW
TSSOP-20-40℃~+85℃ 1 1.4V~3.6V 1.65V~5.5V 60Mbps 8 Automatic direction detection、Output enable high-impedance、Integrated pull-up resistor Bidirectional Level translator Push-Pull、Open-drain TSSOP-20 Translators, Level Shifters ROHSTexas InstrumentsTranslators, Level ShiftersBC557
TO-921 PNP 100mA 100nA 150MHz 45V 500mW 6V 800 90mV、250mV PNP TO-92 Bipolar (BJT) ROHSDDFBipolar (BJT)
README
README.mdDomopool
Goal
The goal of this project is to automatise some parts of my pool, mainly the flter pump based on the water temperature. There is also an option to use a ph pump.
Hardware
The base hardware is an esp32 devkitC. Other hardware:
- Box: arduitouch
- LCD: Ili9341 240x320 RGB touch screen
- Power: Integrated 5V voltage regulator (input voltage 9 - 35V DC)
- Built-in piezo buzzer
- Controler: ESP32 board
- Temperatures (water and ambiant): 2 DS18B20
- Water pressure: GS07381-06 (200PSI) amazon
- RTC: DS3231 amazon
- ADC: ADS1115 az-delivery
- LevelShifter: TXS0108E az-delivery
- Relay: 4-relay module 5V with optocoupler low-level trigger az-delivery
Pictures
-
The box

-
The pressure sensor on top of the sand filter

Funtionalities
- Read/write configuration from preferences (nvs storage)
- Mesure water temperature, ambiant temperature and water pressure
- Auto-detect DS18B20 (temperature sensors)
- Avaluate filtering time based on day hour and water temperature
- Get/Set values through grpc request
- Set time with ntp
- Send data with mqtt
- alarms on temperatures and pressure
- frost protection
- low/high pressure protection
Configuration
To ease configuration update 2 front-end are under developement:
- CLI: https://github.com/golgoth31/domopool-cli
- UI: https://github.com/golgoth31/domopool-cli/tree/master/web
Temp/filter time
The local table is defined like this:
| Temp | Hour | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| t<1 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
| 1<t<3 | X | X | |||||||||||||||||||||||
| 3<t<6 | X | X | |||||||||||||||||||||||
| 6<t<9 | X | X | X | ||||||||||||||||||||||
| t=6 | X | X | X | ||||||||||||||||||||||
| t=7 | X | X | X | ||||||||||||||||||||||
| t=8 | X | X | X | ||||||||||||||||||||||
| t=9 | X | X | X | X | |||||||||||||||||||||
| 9<t<12 | X | X | X | X | |||||||||||||||||||||
| 12<t<15 | X | X | X | X | X | ||||||||||||||||||||
| 15<t<18 | X | X | X | X | X | X | |||||||||||||||||||
| 18<t<21 | X | X | X | X | X | X | X | ||||||||||||||||||
| 21<t<23 | X | X | X | X | X | X | X | X | |||||||||||||||||
| 23<t<26 | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||||
| 26<t<28 | X | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||
| 28<t<30 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||
| 30<t | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
Other table exemples:
-
from 1
-
from https://www.piscine-center.net/gestion-de-la-filtration-et-de-l-electrolyseur.html

-
from https://www.perfeco-f.fr/index.php/le-perfeco

ToDo
- set hour if ntp and rtc are not ok
- add Hbridge driver for peristaltic pump (ph)
- add ability to redefine filter pump steps
Parts
21| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | CONN_01X01 | Socket_Arduino_Mega:Arduino_1pin | P8, P9, P10, P11, P12, P13 |
| 2 | Analog | Socket_Arduino_Mega:Socket_Strip_Arduino_1x08 | P3, P4 |
| 2 | DS18B20 | Package_TO_SOT_THT:TO-92_Inline | U1, U2 |
| 1 | 1K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | 4.7k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | ADS1115IDGS | Package_SO:TSSOP-10_3x3mm_P0.5mm | U6 |
| 1 | BC557 | Package_TO_SOT_THT:TO-92_Inline_Wide | Q1 |
| 1 | Communication | Socket_Arduino_Mega:Socket_Strip_Arduino_1x08 | P7 |
| 1 | DS3231M | Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm | U4 |
| 1 | Digital | Socket_Arduino_Mega:Socket_Strip_Arduino_2x18 | P1 |
| 1 | ESP32devkitC | Package_DIP:DIP-40_W25.4mm_Socket_LongPads | U3 |
| 1 | PWM | Socket_Arduino_Mega:Socket_Strip_Arduino_1x08 | P6 |
| 1 | Power | Socket_Arduino_Mega:Socket_Strip_Arduino_1x08 | P2 |
| 1 | TXS0108EPW | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U5 |
Questions
How big is the Ardipool PCB?
It measures 205.7 × 137.2 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Ardipool use?
21 parts, built around the ESP32-DEVKITC-VE, DS18B20, ADS1115IDGS and DS3231MZ+. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Ardipool KiCad files?
From the golgoth31/domopool repository on GitHub, at the commit this page was made from: the board is wiring/ardipool/ardipool.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Ardipool design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers127 × 45.7 mm

- 4 layers65 × 100 mm

- 2 layers69.1 × 53.8 mm

CybdoDuino
Cybdo/CybdoDuino
I have so many old Arduino-based projects, including a CNC plotter I made with old CD drives (see here), that could do with a refresh.
71 parts2MIT - 2 layers150 × 185 mm

- 2 layers

- 2 layers132 × 162 mm

- 4 layers100 × 150 mm

- 2 layers33 × 73.7 mm

Geophonetdsconductschem2
ARTS-Laboratory/SPECIES
Design and development of a deployable UAV smart penetrometer
23 parts6CC-BY-SA-4.0