Skip to content

Instantly share code, notes, and snippets.

@seansplayin
seansplayin / ESP32_S3_DevKitC_1_N8R8_Solar_Controller_4.9
Created January 28, 2024 16:58
Solar Thermal System Controller
// Compiles successfully on ESP32-S3_DevkitC_1, as of 08-06-23 through 12-17-23 using espressif board library 2.0.14
// built from WebServer_not_working_yet-5a-1 which was built from ESP32_Solar_Controller20.4
// this uses dedicated spi busses for the W5500 and the Max31865 ddevices.
// not certain the webserver is 100% stable.
// 01-14-24 added offsets to Dtemp4 +1.4, Dtemp2 +4.85 Heat relay is now operated off pin 48 being pulled high. Added BOILER_CIRC_RELAY on pin 47.
// 01-15-24; Added Boiler Circulator and programming to operate with Heating Circulator and DHW Circulator and depending on temperature or storageT (600 Gallon Tank)
// 01-15-24; increased DTemp 1-13 averages 2>3, increased Boiler Circ on 100, off 105. Added boiler circ to information webpage.
// 01-20-24; added recirculation valve and logic. Circ pump configured to only operate if Heat and DHW pumps are off now.
// 01-20-24; DHW Pump is now controlled from pin 36 and no longer off temperature. Updated webpage and adjusted formatt
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable
//Objectives:
/* Modify this code to be compatible with the ESP32-WROOM-32 Microcontoller using it's Integrated WIFI
* control and report to a webpage all aspects of my evacuated tube Solar Hot Water collector System.
* Use a PT1000 RTD sensor to monitor the evacuated tube manifold.
* Utilize eleven DS18B20 digital temperature sensors to read temperatures from various system components.
* Control 5 circulation pumps according to what mode has been selected for each pump (On, Off, Auto).
* Specify perameters for circulation pump cycling when the pump is in the "Auto" mode.
* provide radio buttons on the webpage to select what mode each pump is in "On, Off, Auto".
usable pins: 34-39 are inputs only. VP=36, VN=39.
external flash uses 6-11 - unusable