RaspiPool. A DIY Swimming Pool Automation System

Thanks @monkey-house

Turbidity in a pool is just something aesthetic. The main target of the project is to build the most simple as possible automation system, so add many sensors is not in that direction. Currently the filtering time is calculated based on the temperature, since it is closely related to the growth rate of algae and microorganisms.

To manage turbidity, you have probably treat with kind of filter system:

  • sand, about 30 microns,
  • cardridge, about 10 microns,
  • or DE, about 3 microns

TDS can be related with the “age” of the water, but I thing nothing more in the sanitization of a pool.

But, please, its only my opinion, you are free to upgrade the basic system what you want.

Thanks @Gagan_Kochar
The ezo custom component is supposed to detect other EZO circuit. The more related to TDS is “concuctivity”, but take into account that its not the same.
My Atlas Scientific custom_component only work with UART mode, so tentacle board is not supported (as it has only I2C mode). I was thinking about buy one and include support, but I cant find a reseller in UE (only switherland).

About your project… Have you thint about a simple xiaomi miplant (flora)? It is very well supported in HA, and you can put it inside the water…

How are you measuring free chlorine?


Very good question. It is described in wiki

Take into account that there is a lot of controversy about the relationship between FC and ORP. Many people think that the ORP gives a more accurate measure of the quality of disinfection, and much more hates the regulation based on ORP because other values ​​influence it (TA, CYA, etc…).

Morover, the relationships are not linear, as you can see in graphics: in certain circumstances large changes in FC involve very changes small of ORP and vice versa. CYA still further complicates these relationships.

Also, keep in mind that you will almost certainly not find a similar approach across the internet.

@segalion can you please post some actual pictures of your setup?
Just received a parcel from Atlas Scientific… About to get the fittings I currently miss!

Please, could you specify what picture you want? All config is published at github project (in code, and description with lots of pictures are in the wiki

Hackaday people has published the project

Thanks for the support!.

1 Like

Just a photo of your setup rather than info graphics. Particularly interested in an actual photo of your sensor array…

I have an old of pipe by-pass photo (sensor arrays), published here:

An old photo of the IP65 box…


But, now, I am changing my old IP65 box for one with DIN-RAIL, and changing position, etc. When I have all completed I would take more actual photos…

1 Like

@segalion thankyou for your reply will look into wokin of UART also is there schematics available on connecting EZO UART to PI / hassio

checked about mi plant flora also its still only useful for plants growing up in soil any ideas ?

hi @segalion went ahead researched a lot this ezo circuits will work for me i can use TDS and conductivity only thing i would want to know which i did not see mentioned anywhere how you are making them calibrate is the a calibration mode ? , the thing is why i am trying to be sure because the whole kit including shipping costs 450 USD to me and i don’t want it not to work after it reaches me

my list includes (attached in the picture)

Thanks in Advance

Sorry, I am trying to understand what do you want to do…

I will try to make some advices in my experience, but take into account I am not an expert…

1 - TDS =Total Dissolved Solids (usually total ammout of salts)
Conductivity is very closed to TDS (but not exactly the same). Its important to know what you want to meassure.

To meassure conductivity it in a rudimentary not-accurate way, there are lot of cheaper options (less than 15$). You can use even a xiaomi miflora (that meassures conductivity even in water. I have tested it and you can aproximate very well the measure of salt inside the water). As it has bluetooth and proper Home Assistant integrated sensors its a very cheap and good option to meassure conductivity.

  1. ORP is another thing diferent to TDS or Conductivity, and related to the sanitization level of the water. Its usefull for pools or some aquarium. Usually not for plants involved…

  2. Probes from Atlas Scientific are usually for proffesional and very accurate purposes, (and very expensive). I dont recommend them for general purposes like meassure pH or ORP in a residential pool. You can buy some pH probes for less than 10$ and ORP less than 25$ in aliexpress even amazon, and more you pay probably better quality.

I hope I could help you.

It sounds like this is not related to RaspiPool. Maybe try to open a new thread rather than overtaking this one?

Some more links:

Hey @segalion,
Am looking at forking RaspiPool to get rid of the pump scheduling part of your implementation. I have the pump schedule working great for my environment (pool water temp between 30C and 33C all year) with 90% of the pumping during solar electricity producing hours. The pump runs daily from 8am to 6pm. This works great for me, bearing in mind professional pool makers in Europe insisted that a pool above 30C needs to have 24 hours filtering. I do not wish to mess with this as it works great currently.

What interests me with your solution is the part with PH, ORP and temp sensing along with chemical injection. All instructions on Github are clear for the measurement side, not so for the injection side. I cannot see anywhere where you describe how you connect the peristaltic pumps outlet to the pool hardware to inject chemicals. Could you please explain? This would benefit all users, both using your standard version and the ones who wish to create alternatives…

Ok I’m at a lost in the Documentation it shows UART1 on Pins 32 (GPIO12) and 33 (GPIO13) with the dtoverlay set as


But that doesn’t work and UART1 is actually on GPIO32 and GPIO33 which is the same as the UART0 Pins 8 (GPIO14) and 10 (GPIO15)

So please share how you have this working because I can not get it to work this way. Tried I2C but too much work!
For now both on shared UART and using Node Red to differentiate the data

I think some clarification on the injection side are needed.
My primary concern is on the PSI required by the peristaltic pumps, and also if a not-return valve is needed.
On the scheduling part I’m trying to understant the rational behind the current formulas,
but an help from @segalion would be really much appreciated!
Last but not least I’m reading about the debate ORP vs FC. It seems that in the EU countries the law is requiring to manage the sanitization based on the ORP values. I’m trying to find a formula for the bleach needed to gain a delta ORP.

1 Like

It looks like @segalion has been MIA for a long while, both on here and on his own GitHub. Hope he’s well…

Sorry, I could miss something, but I have a question about algaecides.
Can I use algaecides in this system? We’re using Kem-Tek KTK-50-0006 for maintaining cleanliness in our pool. It is a green 60% concentrate algaecide. Can it be “harmful” for this automation system? Or are there any nuances?

Hey @segalion, would you mind to gave us an update how the platform have behaved since you put it production :smile: what about the readings, how accurate are they today compared with some months ago.
Congrats with this project, it’s really awesome.