Solar Thermal Monitoring

Has anyone designed a system to monitor the production of solar thermal? There are very limited solar thermal monitoring options out there and they tend to be costly ($500+).

To monitor solar thermal to see if it is operating and to generate saving estimates, you need to collect the following three temperatures:

T1: Water Supply to Thermal
T2: Water Return from Thermal
T3: Storage tank
Flow sensor to measure flow of return

Has anyone worked on something similar to this? I searched the forum and could not find anything solid or recent.

1 Like

Welcome to the OEM forum, Demian

I’ve just done a cursory search for “thermal” and I can see quite a few posts, though as you say, some go back a few years. I think @stephen is the most knowledgeable contributor who might be able to help you.

I’ve done something vaguely similar, just using the two temperature sensors that the controller uses. I guestimated the flow rate based on temperature logging and recovery times, so the solar power wattage shown below is simply the temperature delta multiplied by a constant. I’ve not integrated any of it into emoncms dashboards, but I’m pretty sure I’ve seen some examples where people have.

Screenshot from 2020-01-09 12-00-48

The pump asterisk goes black when the circulation pump isn’t running, and the electric boost dashed line turns yellow when the 4kW element has kicked in to boost.

Demian hi,

We have solar thermal as well as PV which we diver to the same Heat Bank that soaks up the solar thermal energy.

We’ve not bothered with measuring the solar thermal difference temperatures - we’ve simply measured things on the Heat Bank - some of the readings are from pockets and some are measured on the pipes, so they are probably a few degrees out.

I’ve attached a snapshot from our dashboard below. The top 3 lines rise according to the amount of PV diverted. The blue line is the reading at the bottom of the tank where the solar thermal enters - you’ll see it vary as the solar thermal pump turns on and off.

So we have a way of seeing the effect of the solar thermal but haven’t gone to any further detail on savings estimates etc. Our Solar Thermal controller has a reading which it calculates from the temperatures and running times but I’ve never really trusted that.

Safe to say with the FIT payments from the PV we ‘earn’ as much each year as we are charged by the utility company for both electricity and gas - so cash neutral on that front. :slight_smile:

EDIT: I should add we were away at the time - it’s not that there was no draw on the heat bank all day because we don’t shower!! :slight_smile:

My solar thermal is a two tank system with a solar heated preheat tank feeding an electric resistance tank. for half the year it produces virtually all of my hot water. In the winter, it provides a little less than half of the energy.

To monitor it, I treat the whole system as a black-box and measure:

  • (Tin) Cold water inlet temperature
  • (Gal) Gallons of cold water used (simple pulse meter)
  • (Ein) Electricity used by the hot-water heater

The output uses a mixing valve so I know the output temperature (Tout).

The energy delivered in hot water is:

kWh = (Tout - Tin) x gal / 3412

Subtracting Ein yields the kWh provided by the solar.


Tin varies seasonally, but is very consistent over a week or even month. If your input comes from a rooftop tank or other more variable source, you would need to integrate the differential, or perhaps capture the kWh at each meter pulse (gallon) as a function of the current conditions.

These calculations do not include the system output via standby heat loss. I consider this to be a constant, measured as the kWh used in my electric tank over several days while away. That increases slightly in the summer when the tanks are hotter, but I consider the extra as part of the efficiency of the solar system. After all, at that point I’m getting 100% of my hot-water from the sun.


For those attempting to measure the heat harvested by the panels as a function of temperature drop and flow rate, there is a simple way to calculate flow rate if you have a fixed speed pump. All of the common circulator pump manufacturers publish pump curves that plot the flow rate as a function of head. The head is a constant that you can measure with a (or more conveniently two) fairly accurate pressure gauges. The operating pressure differential between the low side and the high side, with consideration for the static differential implied by the elevation difference of the two measurement points, will give the head. Look it up in the pump curve and you have the flow.

In my experience, variable speed controllers add little to nothing to the overall efficiency of the system. My controller can do it, but I don’t use it. When the sun is shining and production is significant, the pump is usually running full speed anyway.

if you want off the shelf you could try this one

you could repurposed a couple of sensors the say the in house line circulation for the cold return to the collector. then use the network connection to collect data of the sensors, and either infere the flow or addin a flow sensor use the top cell senor as the hot input temp, the line circulation temp as cool return

or you could try my per existing versions heatpump /solar thermal
but I used the same of monitoring solar thermals – but instead of using DS I would switch it to anlogue - NTC 10K if you wish higher accuracy

the arduino code for that is

#include <math.h>

double Thermistor(int RawADC) {
double Temp;
 //Temp = log(10000.0*((1024.0/RawADC-1))); // adjust 10000.0  to get accurate  temp - use other inline if temperate move in opposite direction
 Temp =log(11500.0/(1024.0/RawADC-1)); // for pull-up configuration 
 Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
 Temp = Temp - 273.15;            // Convert Kelvin to Celcius
 //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
 return Temp;
void loop()
float tempD = ((Thermistor(analogRead(0))));


Clicking on your link yields this:

Have you got a link that doesn’t require registering on AliExpress?

Just delete everything after the .html.

should work.

Doesn’t work for me - same result: Login screen. :frowning_face:

Same here. No joy.

then try this go to

and search “SPI solar water heater controller” that should bring up network capable solar thermal controllers in the $60 - $100 USD range

let me know as both link and search work for me

Still no go. The search box doesn’t work, and any link goes to that login page again.

If an outfit wants my details before I actually buy anything from them, my money will go elsewhere.

I’ve bought loads of stuff of Aliexpress so I’ve got an account. Had not realised they did that. Used to work fine.

humm- you do not have other issue???. as I tried on a brand new computer. fresh installed computer that never had any contact with aliexpress. and it works fine. either you have weird browser issue, some plugin redirection or some country specific redirection going on… works fine for me on new install linux boxes using firefox and on new install of windows 10 firefox and edge

looks like you can find them on ebay using the same search words for about the same price

Hi, I have built what you need.
I’m still working on the finer details, but have so far

Sensor interface PCB (RPi Hat):

  • 2 x NTC interfaces (Input)
  • 2 x RTD (PT100/1000) interfaces (Input)
  • 2 x NTC interfaces (Input)
  • 2 x Pulse flow meter interfaces (Input)
  • 2 x 1 x 0-10V Pump control (output)
  • 1 x PWM TTL level output
  • 1 x Pyranometer (sunpower measurement) (Input)
  • 1 x Pressure sensor (Input)
  • 1 x RTC for timekeeping with battery
  • 1 x 12V input 3A to drive RPi, sensor board and 7" RPi screen

I have also made a HMI that runs on the RPi and can control the sensor board.

I have begun to document it, but still have some work to do. I made a preliminary blog post on my blog. Though it is already sort of outdated :slight_smile:
Link below.