When my single-speed pump failed, I did some research and realized I’d have an issue aligning my solar pool heater’s activations with the proper speeds from a new variable-speed pump. You set the times on the pump, but the sun comes out when it feels like it. You can wire everything up to an expensive centralized controller, but I had a feeling that if you chose your parts correctly, you could DIY and get everything you want for cheap.
So, I bought a pump that had very flexible automation options, the Hayward Tristar VS. It supports the typical Hayward-branded automation, but also has a neat relay-controlled option you can use to call 8 distinct speeds. I tried looking for existing Arduino timer programs, but nothing quite fit the bill. So, I wrote a fairly easy program that tracks the time and if the solar panel is active, and sets speeds accordingly. It is smart enough to only override your configured speed if it absolutely has to in order to keep a minimum flow for the solar, and can be set remotely for stuff such as an impromptu cleaning cycle. The controller is based on the Particle Photon and allows me to query it for current speeds, as well as override the speed with a new speed/duration temporarily. This is currently done manually via the command-line interface, but I am working on a SmartThings Home Automation program that would let you set your pool pump to a specified speed for a period of time (such as when you dump salt into the pool or decide to sweep it).
Particle Photon (Cloud-based arduino)
5v-controlled Relay with at least 3 ports
An optional screen
Set up defined 24-hour repeating schedule
Minimum speed set any time Solar is activated
Speed override available via
All of the code, photos, and more details are available below. I hope this can help kickstart someone else’s project. You are free to use any or all of the code to improve your pool!