Pool Arduino controller

Another project I am working on is a pool sensor controller using an arduino and an ORP and PH sensor together with water temp which will run via PoE to my RRD server so I can plot and track Ph and ORP and pool temp. Helps manage the pool and predict when Ph is about to take a dive so I can correct it earlier.

The Ph and ORP sensors were easy but damn expensive. $400+ for both. I looked at a few water temp options and wanted a simple thermistor that’s reliable and cheap so ended up going for an SR20 water temp sensor. I’ve got the SR wiring diagrams and the sensors are cheap so should work well.

“A couple of Nissan SR20’s would pull a premium a week before race wars.”

ill post some pics when it’s all working

problem solving before the build. Issues I had;


the PoE arduino shield I purchased used discontinued POE module so I had a working POE shield and no power module which meant it was completely useless and I only wanted it for Poe to save running another 240v mains outlet at the pool pumps – already oversubscribed in terms of AC outputs. The other issue I had was even if I got the PoE shield then I had to feed it an 802.af source via Ethernet and I only had Cisco aironet POE modules and they aren’t compliant . So I would have had to source another arduino PoE shield and then a PoE supplier.


i have no way of connecting the sr20 water temp sensor to the arduino. I know you can simply make a resistor breadboard but I don’t have all the parts or schematics


so I did some poking around and got lucky when I came across PoE workarounds and came up with the jaycar PoE passive loop cables. Basically it’s inject your power source over the cat5 cables . The plugs mate to the arduino first shot and I got a $17 AC power adapter that mates to the same plug. So for $30 I got working POE for arduino. This solves a crap ton of problems for me.

for the temperature input instead of making my own or buying a kit I found jaycar have a premade arduino thermistor board and I’ve simply purchased this and will cut off the supplied 2pin thermistor on the board and mate the sr20 plug to it.

very happy. Should have it working in a few weeks.





after some troubleshooting with the passive POE kit ive found out that i actually need 5v 500ma and not 5v 1000ma. the USB built controller on the adruino has overload protection and kept tripping out when i was trying to power it off the 5v 1000ma kit. so what ive done is cut an old USB plug off and mated this to the DC plug and ill extract USB 5v from the intel nuc i have in the cupboard. so i now have working POE and the temperature sensor is working also, so now just need to try the SR20 sensor on it and we are all good.


Ph solution calibrated at a PH of 4 (low end) for caliration purposes…



PH and ORP sensors, these are $250 AU each, but industrial grade…



The sensors come with a pluggable loom so it mates straight onto the arduino as each sensor uses BNC connectors for outdoor usage



wiznet 5500 ethernet shield and temperature sensor onboard / piggyback style – like an apexi SAFC spidered onto the loom


once i get it all working, the end goal is this setup which i currently have for a range of other crap in the  house, but it will have PH and ORP for the pool and pool temperature

RRD current temperature probes;


network traffic;



sr20 pool temp sensor


just waiting on one more pipe part then we are good to go

did some sensor calibration for the water temp sensor, spent ages looking up NTC documentation and scientific crap

in the end, the simplest approach is the one that often works, grabbed the vipec manuals and dig up their resistance / temp ranges for the NTC thermistors and used their values and it works spot on, so its accurate. the water temp sensor is a large bodied sensor so its nice and slow to respond and react to temperature changes which is ideal for my application.

if you are curious, these three coefficients are prefect for the sr20 water  temp sensor (NTC)

Selection Criteria

Temp C
Temp C
Temp C
@ 25° C
-40 55 150 2,103 Z/D (-4.4%/C @ 25C) Mil Ratio B



(Data is for Reference Only and is subject to change)

a = 0.001486256111584
b = 0.000237996994255
c = 0.000000104123343