Solar Water Heating Pump Controller


A solar water heating pump controller is a key component in most solar water heating systems (DIY or otherwise). The controller is there to turn the pump on when the fluid in the solar panel is hotter than the water in the hot water tank (or swimming pool), and keep it turned off at all other times.

Pump for solar hot water system

First of all, it is worth noting that there are solar hot water system designs for which a controller is not required. The most common is Thermosyphon Solar Water Heating in which the natural rising of hot water (and sinking of cold water) is used to circulate hot water from the panel to the hot water tank, and cold water from the bottom of the hot water tank back around to the panel.

It is also possible to connect a Photovoltaic Solar Panel directly to a low voltage pump – as long as the panel and pump have similar power ratings – so the pump only runs when the sun is shining. The problem with this is that early in the morning the pump may send the previous day’s hot water from the tank to be cooled through the still cold solar water heating panel, and in the evening when the panel may be hotter than the contents of the tank, the pump will not run.

The preferred system for most is to fit temperature sensors to the outlet from the solar water heating panel and to the hot water tank, and have an electronic differential temperature thermostat decide whether the pump should be turned on. This is a solar water heating pump controller.

Simple Solar Water Heating Pump Controller Circuit

Solar water heating system electronic pump controller

Pictured above is the solar water heating pump controller we first started selling back in 2006 (and still sell here: basic solar pump controller to this day). It has also been made by many of our site visitors following the plans below.

This circuit is made up of just a few components. Key are the two temperature sensors (LM335Z) which are used to measure the temperatures of the solar panel and the water tank, and the comparator chip (LM393) which compares the two temperature readings. An STP60NE06 MOSFET (a type of transistor) is used to switch on the pump when triggered by the output from the comparator.

When the temperature of Sensor 1 (solar panel) is higher than the temperature of Sensor 2 (water tank), the 12V solar water pump is activated pumping hot water from the solar panel to the water tank as desired. When the temperature of the water tank is higher than that of the solar panel (for example at night) the pump is off.
Pump controller for solar hot water system

The circuit diagram for this controller displayed above is from the Silicon Chip Online article entitled Pump Controller for Solar Water System. (Click on the circuit diagram to view a larger printable version).

LM335Z Temperature Sensors

LM335Z temperature sensor

The LM335Z temperature sensor (LM335Z Datasheet PDF available here) will accurately measure temperatures between -40 and 100 degrees Celcius.
The voltage measured between the ground and the positive terminals of the LM335Z increases at 10mV per °C. Since absolute zero is -273°C, at 0°C, the voltage measured at 0°C is 2.73V. At room temperature the voltage will be 273 + 20 = 2.93 Volts etc.

Since every sensor is slightly different, the circuit includes a couple of 10k variable resistors which can be used to match the voltage output of the two sensors so that they give exactly the same reading when they are at the same temperature.

Circuit without the variable resistors

Since the sensors are accurate to within 1°C, the variable resistors (trimpots) can be left out to simplify the circuit as shown above. Simply put the sensor with the higher output voltage at a particular temperature as Sensor 2 so that when both sensors are at the same temperature, the pump will be off.

Sensor 1 should be stuck against the copper pipe as it leaves the solar panel, and Sensor 2 should be connected to the outside of the hot water tank underneath the insulation. In this way the two sensors will measure the temperature of the water pretty accurately without getting themselves wet. (Note that water + sensor = very broken sensor)

LM335Z Precision Temperature Sensors are available in the REUK Shop.

Putting the Controller Together

Pictured below is the complete circuit put together for testing on prototyping breadboard.

Prototype solar pump controller circuit

For testing purposes the two temperature sensors have been placed side by side on the breadboard, and a 12V LED Spotlight Bulb is used instead of the hot water pump.

Since the two temperature sensors are at the same temperature the pump is off. The 1 MOhm 10 MOhm resistor across legs 1 and 3 of the comparator chip provides 12mV of hysteresis – i.e. the readings from Sensor 1 and Sensor 2 have to differ by at least 12mV (1.2°C) for the output from the comparator chip to be changed (turning the pump on, or turning it off).

Heating sensor 1 (solar panel) a little to activate the pump

When Sensor 1 (solar panel) is warmed up slightly by the heat of a finger, the light bulb used in this prototype turns on as it should. Warming up Sensor 1 and leaving Sensor 2 to cool, the light bulb turns off.

Modifying the Pump Controller Circuit for 240 VAC pump

Using a relay

If the hot water pump is a 220-240 Volt AC model (or 120 VAC for US visitors), then this same circuit can still be used by using a 12V relay (and EMF supressing diode) in place of the 12V pump in the circuit. When the temperature of the solar panel sensor is higher than that of the hot water tank, the relay will be energised connecting electricity (from an external 240 Volt AC source) to the hot water pump.

If you are interested in building your own pump controller following this design and you need to buy some or all of the necessary components, contact us and we will put together a package for you from the REUK Shop.

Solar Water Heating Pump Controllers for Sale

REUK 2013 Solar Water Heating Pump Controller

Over the years we have developed a wide range of solar water heating pump controllers to meet the specific needs of our customers. Currently our most popular standard controller is our 2013 Solar Water Heating Pump Controller with Relay. This updated version is built around a microcontroller giving the user programmable options – for example, the temperature differences required for the pump to turn on and subsequently turn off can be programmed in for maximum efficiency for any given system.
Swimming pool solar water heating pump controller with LCD display
We also frequently produce solar water heating pump controllers with maximum temperature override for use in hot tubs to prevent them getting overly/dangerously hot, frost protection for usually mild locations with very occasional low nighttime temperatures, and for swimming pools with waterproof temperature sensors such as this controller with a digital display (pictured above) amongst others.

If you have any specific requirements for a solar water heating pump controller, email neil@reuk.co.uk with details and we will come up with something suitable for you.

Arduino Solar Water Heating Pump Controller

One big change since we first started selling solar water heating pump controllers is Arduino. This simple microcontroller based prototyping platform has introduced a lot of new makers to the world of electronics hardware and programming. In order to help people who would like to make a more functionally rich and efficient controller than the simple circuit described at the start of this article, we have designed and published full details of the simplest functional Arduino based solar water heating pump controller we could come up with.

Arduino solar water heating pump controller with code and plans

This is an excellent starting off point for anyone wanting to make their own controller, and the supplied Arduino code and design can be modified and extended to incorporate any features you may require – for example an LCD display, LED indicators, more temperature sensors, and so on. Click here for the free plans, source code, and instructions for our REUK Arduino Solar Water Heating Pump Controller.