Published © CC BY-NC-SA

Solar Pool Heater

Save energy and heat your pool with the power of the sun. A coil of dark tubing and a pump are all you need, but why stop there?

BeginnerWork in progress15 hours2,947

Things used in this project

Hardware components

Expansion Dock
Onion Corporation Expansion Dock
Omega2 Plus
Onion Corporation Omega2 Plus
Relay Expansion
Onion Corporation Relay Expansion
MUYI 5 Kit 3 Pin Way 18-14 AWG Waterproof Electrical Connector with 3.94 inches Wire IP67 AMP Superseal Wire Harness PA66 Nylon Housing Pigtail
AmazonBasics 16-Gauge Speaker Wire - 100 Feet
Banana Plugs Screw Type, Conwork 10-Pack Plastic Shell Audio Speaker Cable Connector for Musical Audio Speaker Cable Wire (5-Pair)
HUACAM HCM82 2x 8dBi 2.4GHz 5GHz 5.8GHz Dual Band Wireless Network WiFi RP SMA Male Antenna+2x15CM U.FL/IPEX to RP SMA Female Pigtail Cable
DROK Waterproof Temperature Sensor DS18B20 -55℃ to +125℃ 1 Meter/39.37" Digital Temperature Probe Thermometer
HIGHROCK 10pcs Terminal Binding Post Power Amplifier Dual 2-way Banana Plug Jack
uxcell® DC 12V Car Auto Push Button Cigarette Lighter Black
RoyPow 120W (Max 150W) Power Supply AC to DC Adapter 110V/120V to 12V Car Cigarette Lighter Socket 12V/10A DC Power Converter Transformer
CO-Z Submersible Bilge Pump 1100/500GPH 12V 2.0/3.0A for Marine Boat Yacht


Read more



Testing the pump behavior.
This shell script is an infinite loop, to stop it, you hit <ctrl> c.
It first activates relay 0 and echo the status to a tmp log file as well as the time and date.
It then sleeps for 3 minutes, meaning the pump is on for 3 minutes.
After 3 minutes, relay 0 is turned off, echoing the output to the tmp log file along with the time and date.
It then sleeps for 10 minutes before starting all over again.

Basically, it turns on for 3 minutes, then off for 10, allowing the sun to heat up the water inside the tubes.
I'm just guessing at how long it takes for the tubing to heat up the water inside.

while true

        relay-exp 0 on >> /tmp/pump.txt
        date +"%Y-%m-%d %r" >> /tmp/pump.txt
        sleep 180
        relay-exp 0 off >> /tmp/pump.txt
        date +"%Y-%m-%d %r" >> /tmp/pump.txt
        sleep 600




4 projects • 7 followers
Just a sysadmin kind of guy. I'm always learning new things and I enjoy long scrolls through the command line.