DIY Arduino Solar controller - Can we finish this old project together?

I've started this project 2 years ago and I've procrastinated on it for so long that I now hope we can finish it together!
Feb 24, 2022 — 3 mins read — Arduino

DIY Arduino Solar controller - Can we finish this old project together?

About two years ago I started a project that I brought to a general working state and I kind of lost interest in it 😕

I'm not really sure what exactly happened or why it simply got pushed to the side but I started working on new things and this differential thermostat just sat on a shelf, gathering dust, waiting for a better day.

So, instead of just sitting on a shelf, I decided that I will publish this project anyway with the idea that maybe we can finish it together?


Now, let me give you a quick overview of the project. If video is your thing, you can check the full explanation here.

The thermostat is made with Arduino Nano, a 16x2 LCD screen, 2 10k NTC thermistors, a relay module, and a few other components like switches, resistors, and an LED.

Differential thermostat schematic

Differential thermostat schematic

The controller first reads and compares the temperatures that it reads from both NTC thermistors, one measuring the temperature of the solar panel installed on the roof and the other installed in the water boiler inside. If it sees a sufficient temperature difference in them, where the temperature of the solar panel is higher than the one in the boiler, it turns on a relay that operates a pump to circulate the coolant that is present in the system.

This circulation will then bring that heat from the solar panel to the water boiler and exchange it with the water inside, so the heat from the sun is used to heat up the boiler.

Now, this already works but as I said the project is not finished completely. Besides the normal operation mode, the controller needs to have a mode that can prevent freezing of the system in an event of really low temperatures in winter. This mode will turn on the pump in the reverse condition where the solar panel is under a set temperature and warmer water will be brought up from the boiler.

This mode is currently missing from the code, and additionally few other settings are present but they don't make a difference in the code as they are not taken into consideration. Things like the minimum temperature at which it should operate, the maximum temperature of the boiler, the maximum temperature of the panel, and so on are not yet implemented and this is where I need your help.

I know that there are many talented developers out there that can jump in and contribute to the project so we can make this fully open-sourced and feature-packed for people to make their own and not pay a ton of money for a commercial controller.

I've made two repositories, one for the code and another one for the ECAD project where I have the schematic and hopefully the custom PCB in the future. Feel free to check them out and also to contribute to the project if you have the time and knowledge to do so.

If you have any questions regarding the project, feel free to get in touch on any of the social media platforms that I'm on, and links to them are in the footer of this page.

Here is the full video of the project where you can see how exactly it operates and where I go into much more detail on its features.


Tools and materials used in the video:


diy arduino project thermostat solar pump
Read next

LoRa Distance Testing with RYLR998 in the open field - Amazing results!

I'm planning to build a device that will make use of the LoRa communication protocol to transmit data over long distances and for that, I fi...

You might also enojy this

Hand washing timer

In my previous article I looked at the options of using a PIR sensor in Arduino projects and I came to the conclusion that the best option i...