Solar Pool Heater 2016


About This Project

Wife and I had an adult “kiddie” pool last year during the heat of the summer and we spent a lot of time in it during the months of July and August. We upgraded to a larger pool (12’ in diameter, 2500 gallons/9600 L). But living at a northern latitude means keeping the pool warm enough to be comfortable anytime (shoulder season, or after a cool spell) and temperature was going to determine how many times we used it. So I thought of a solar pool project and here’s what I came up with.

What’s Connected

  • Raspberry Pi 3
  • water temperature sensors x 4 (DS18B20)
  • temp/atmospheric pressure sensor (BPM180)
  • light sensor (TSL2561)
  • power relay switch
  • indicator LED
  • ABS pipe and custom solar box

Schedules, Triggers & Alerts

  • Daily pump on and off to circulate water for 2 hours regardless of available sunshine.
  • If light sensor is above a specific lux value pump is turned on to circulate water through solar collector.
  • If light sensor is below a specific lux value pump is turned off.
  • Various email alerts for temperature targets.

Dashboard Screenshots

  • Lux light measurement. Had to cover the sensor with plastic garbage bag to keep the sensor from being overloaded. It has a nice range now of 1 through 1000.
  • Ambient temp and atmospheric pressure. Read from behind the collector unit, much closer to what the pool environment is experiencing. Plus I can track pressure and do some rudimentary forecasting.
  • Temp out and temp in are sensors sealed in the supply and return couplings of the collector.
  • Top and Bottom temp are the in-pool sensors.
  • Pump is the remote power switch for the pump and Power is an LED to indicate that the unit is powered and online just by looking at an external indicator LED.

Photos of the Project

Solar collector front - Cedar box, plexiglas front. 30’ of ABS pipe. Light sensor housing.

Solar collector back - Control box. Water in and out unions with temp sensors embedded. Light sensor feed. Sensor back is caulked with bathroom grade silicone sealant. Green power LED on side to indicate if unit is powered and online.

Early interior build of control box - Relay and power setup complete. Two temp sensors and ambient temp/pressure sensor. Relay controls bottom outlet for pump (fed through wire coupling). Upper outlet is constantly on for power to Pi.

Ambient temp/pressure sensor housing - fitted into PVC wire coupling and capped with multiple layers of wire screen (to keep bugs, etc out). Backside is caulked with bathroom grade silicone to keep interior of control box relatively sealed. Sits on the bottom of the control box to keep out water. Electronics are exposed to air so we’ll see just how long the sensor lasts (corrosion, etc.).

Safety Considerations

  • Entire system is plugged into exterior grounded GFI outlet.
  • 120V power isolated from RPi and sensors by sealed PVC outlet box and terminal strip connections are buried in hot glue.

Results & Future Considerations

  • In bright sunlight temperature differential of input and output is about 1/8th of a degree. Not amazing, but over a hot day this adds up and will assist in keeping the pool warmer for longer. During an early season heat wave we were able to get the pool to 29.5 C. Very comfortable with a beer in hand. Much hotter than our smaller non-solar pool the year before (max 26 C).

  • So far (1 month) interior of collection box and control box is dry and sealed after a couple of weeks of wet weather.

  • Next year I’ll add an additional solar panel in series to increase the heating output. Admittedly, the solar collector is not as efficient or capable as it could be for the volume of collection box. I may try different configurations.

  • Ideally, if the unit were on a steel pivot it would be easier to angel into the sunlight throughout the day (maybe automated).

  • Insulate supply & return pipes so the water does’t cool when the pump is off.

  • If and when Cayenne gets timed switches/triggers I would like to try cycling the pump during hot periods. If water is left to heat up in the pipes for even 10 min it gets substantially warmer.

  • One additional temp sensor in the collection box to see how efficiently the trapped heat turns into heated water.

TSL2561 no value on dasboard
TSL2561 no value on dasboard

This is a hefty Cayenne project! Thank you so much for sharing, I’ve shared this with the entire Cayenne team as well, we love seeing projects like these :slight_smile:

If it’s okay with you, I’ll have our Marketing Manager @vmnguyen post this project to our social media accounts.

Do you mind if I re-post this project on your behalf to our Cayenne account? Of course you could also post it there too, I just thought I’d offer to save you the time.

Thank you for the thorough project description with accompanying pictures!



Go ahead, you have my permission to post it to
Thanks for the props.


That project is awesome, congratulation @lutefisky !
I’m impressed by the clean wiring and built.
Thanks for sharing !


Here is the link to the project. I classified it as Intermediate because of the Solar Heater. Let me know if you want me to change anything! You can also take ownership of it I believe too, since I didn’t take ownership for it when I created it.




Thought I’d let you know that we got Raspberry Pi to tweet about your project. It has a TON of traffic. Well done!



This is as really cool project! Can’t wait to see your future projects @lutefisky


cool nice job!!


Makes me nostalgic.

Did a project like this in junior high. The water got so hot it could burn you.




Wondering if this project has any updates since last year!

A few thoughts on the solar collector part… The heat transfer from sun to water is the purpose here. A coil of copper tubing will be much more efficient than any kind of plastic pipe at heating water. (I recall a YouTube video of a similar-looking box collector, but the person used a 50’ roll of 1/2" copper tubing and got some incredible heat gain, even at a pretty good flow rate.)

Next, I wouldn’t bother with your suggestion of a timer to let the water heat up before circulating. The net effect is the same (or worse) by doing this, vs. continuous circulation. The object is to get those calories from the black pipe to the pool as quickly as you can. It doesn’t heat the pool faster (i.e. transfer more calories) by saving them up and then moving them than it does to move a few at a time.

Great project, though!