---
title: "2nd Gen Arduino Hot Water Solar Collector Controller"
url: "https://maker.wiznet.io/irina/projects/2nd-gen-arduino-hot-water-solar-collector-controller-1/"
markdown_url: "https://maker.wiznet.io/irina/projects/2nd-gen-arduino-hot-water-solar-collector-controller-1/md"
type: "UCC: User Created Content"
author: "Thorigol"
author_url: "https://www.instructables.com/2nd-Gen-Arduino-Hot-Water-Solar-Collector-Controll"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Thorigol"
original_url: "https://www.instructables.com/2nd-Gen-Arduino-Hot-Water-Solar-Collector-Controll"
published: "2025-12-11"
language: "en"
likes: 0
views: 368
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# 2nd Gen Arduino Hot Water Solar Collector Controller

> A second-generation Arduino solar hot water controller using DS18B20 sensors, relay-based pump control, and an Ethernet Shield for remote monitoring and data lo

Original author: Thorigol (source: https://www.instructables.com/2nd-Gen-Arduino-Hot-Water-Solar-Collector-Controll)

## Article

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765466663%2Epng)

## 👤AUTHOR

**Debe **
A DIY maker passionate about renewable energy, automation, and open-source hardware.
This project reflects hands-on experimentation, iterative improvement, and real-world solar-thermal system optimization.

🔗 Original Project: <https://www.instructables.com/2nd-Gen-Arduino-Hot-Water-Solar-Collector-Controll/>

---

## 📌 BACKGROUND & MOTIVATION

After decades of operating this large solar thermal system, the creator understood its biggest challenge: **accurate temperature measurement at many points** and **intelligent pump coordination**.

Existing Arduino solar controllers were simple and functional, but lacked:

- IoT monitoring

- multi-sensor compatibility

- advanced pump logic

- web-based control

- high-temperature sensor support

- freeze and overheat safety automation

A modernized controller needed to handle **PT1000 RTDs**, legacy **10k thermistors**, and **DS18B20 digital sensors**—because the system contained a mix of old and new hardware.

The system also requires control of three separate pump circuits:

1. **Collector pump** (Panel → Storage)

2. **Domestic hot water extraction pump**

3. **Home heating extraction pump**

To upgrade this complex infrastructure, the author defined clear goals:

#### Required Inputs

- Read **PT1000 RTD** sensors inside solar panels

- Read **10k thermistors** already installed in the tanks

- Read **DS18B20 digital sensors** for general temperature points

- Allow any sensor to be assigned to any function

#### Required Outputs & Logic

- Control **DHW extraction pump**

- Control **home heating pump**

- Freeze protection & maximum temperature shutoff

- LCD-based UI

- Manual override buttons

- Two-stage **lead/lag pump logic** for higher solar efficiency

- **Publish temperatures & pump status via Ethernet**

- Provide full pump control via the webpage

This second-generation controller now achieves nearly all of these goals and operates reliably.

## 🎯PROJECT DESCRIPTION

This project implements a **second-generation Arduino-based solar hot water controller**, designed to automatically manage heat collection, temperature sensing, pump activation, data display, and system safety.

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465404%2Epng)

It improves upon the first-generation model by adding:

- Measure collector & tank temperatures

- Decide when to run the circulation pump

- Display data on LCD

- Store settings in EEPROM

- **Send operating status to a remote dashboard via Ethernet**

The Ethernet Shield makes the system significantly more powerful, enabling:

- Home network integration

- Browser-based viewing of system temperature

- Remote pump status monitoring

- Data recording for system optimization

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465360%2Epng)

The controller monitors temperature differences between the **solar collector** and the **water storage tank**, then activates the circulation pump when heat gain is optimal—maximizing efficiency and preventing overheating or heat loss.

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465307%2Epng)

---

## 🧩COMPONENTS

### 🧠 Hardware

- **Arduino UNO / Nano**

- **Arduino Ethernet Shield (W5100 or W5500-based)**

- Temperature sensors (Collector + Tank)
  - **PT1000 RTD** (high-temp solar panels)
  - **10k thermistors** (legacy storage tank sensors)
  - **DS18B20 digital sensors**

- Relay or SSR for pump control

- 20x4 LCD (I²C optional)

- EEPROM (built-in)

- Manual switches / LEDs

- Outdoor-rated wiring and enclosure

## 🧰 SYSTEM OVERVIEW

```css
  Solar Collector Temp ----┐
                           					 │
  Tank Temp Sensor --------┼--> Arduino Controller
                        					 │  			      │
			                                 │    			  │
                    					Relay Output   │ ---> Pump ON/OFF
                                    							  │
					                       LCD Display  │ ---> Status UI
                                    							  │
						                        Ethernet   │ ---> Web Monitoring
                        					    Shield
```

Arduino handles control logic, while the **Ethernet Shield** hosts a simple web interface that:

- Displays all temperatures

- Shows pump statuses

- Allows remote pump activation/deactivation

## ✔ KEY FEATURES

#### 🔹 **Smart Pump Control**

- Calculates ΔT (collector–tank difference)

- Activates pump only when energy gain is positive

- Prevents reverse heat flow at night

### 🔹 **Ethernet-Based Monitoring**

With the Ethernet Shield, users can:

- View temperatures via web browser

- Check pump status remotely

- Use tools like Excel, Home Assistant, or Grafana for tracking

- Log data for system maintenance and optimization

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765466065%2Epng)n

### 🔹 **Clear Local UI**

LCD shows:

- Collector temperature

- Tank temperature

- Pump status

- System mode (Auto/Manual)

- Useful for maintenance and direct local control.

### 🔹 **Improved Energy Efficiency**

The second-generation design reduces standby loss and optimizes solar gain.

---

## 🧪USE CASES

- Residential solar water heating

- Off-grid home automation

- Renewable energy experimentation

- IoT-enabled home energy management

- Long-term performance monitoring

- Thermal system optimization

---

## 🧠 ENGINEERING INSIGHTS

- The use of DS18B20 sensors enables stable, waterproof temperature measurement.

- Ethernet Shield integration simplifies IoT functionality without needing Wi-Fi modules.

- Browser-based dashboard enables real-time visualization of solar heat collection efficiency.

- EEPROM-based configuration ensures persistent user settings.

- Relay isolation enhances safety for pump control.

If upgraded with W5500, reliability and network performance improve further.

---

## 👤AUTHOR

**Debe **
재생 에너지, 자동화, 오픈 소스 하드웨어에 열정을 가진 DIY 제작자. 이 프로젝트는 현장 실험, 반복적인 개선, 그리고 실제 태양열 시스템 최적화를 반영합니다

🔗원본 프로젝트: <https://www.instructables.com/2nd-Gen-Arduino-Hot-Water-Solar-Collector-Controll/>

---

## 📌 배경 및 동기

수십 년간 대형 태양열 시스템을 운영하면서, 제작자는 가장 큰 어려움이 **많은 지점의 정확한 온도 측정과 지능적인 펌프 조정**이라는 것을 알게 되었습니다.

기존의 Arduino 태양광 컨트롤러는 간단하고 기능적이었지만, 다음과 같은 기능이 부족했습니다:

- IoT 모니터링

- 다중 센서 호환성

- 고급 펌프 로직

- 웹 기반 제어

- 고온 센서 지원

- 동파 및 과열 안전 자동화

현대화된 컨트롤러는 **PT1000 RTD**, 기존의 **10k 서미스터**, 그리고 **DS18B20 디지털 센서**를 처리해야 했습니다. 왜냐하면 시스템에 기존 및 신규 하드웨어가 혼재되어 있었기 때문입니다.

또한, 이 시스템은 세 가지 개별 펌프 회로를 제어해야 합니다:

- **집열기 펌프** (패널 → 저장소)
  - 가장 중요한 부분입니다. 이 컨트롤러는 단순히 태양열 패널의 온도가 저장 탱크보다 높다고 펌프를 켜는 데 그치지 않습니다. **온도차(Delta T)**에 따라 물의 흐름을 **2단계**로 조절합니다. 온도차가 클 때는 '선행(lead) 펌프'와 '후행(lag) 펌프'를 모두 사용하여 물의 유량을 늘리고, 온도차가 줄어들면 유량을 줄여 시스템이 태양열을 **더욱 효율적으로** 모을 수 있도록 합니다.

- **생활 온수 추출 펌프**
  - 저장된 열을 생활 온수 공급을 위해 추출하는 펌프를 제어합니다.

- **가정 난방 추출 펌프**
  - **집안 난방을 위해 저장된 열을 추출하는 펌프를 제어합니다.**

이 모든 제어는 **Arduino Uno** 보드와 **relay shield**, 그리고 **LM335 온도 센서 4개**를 통해 이루어집니다.

## 🎯PROJECT DESCRIPTION

이 프로젝트는 **2세대 Arduino 기반 태양열 온수 컨트롤러**를 구현합니다. 이는 열 수집, 온도 감지, 펌프 활성화, 데이터 표시 및 시스템 안전을 자동으로 관리하도록 설계되었습니다.

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465404%2Epng)

이는 1세대 모델을 다음과 같이 개선했습니다:

- 집열기 및 탱크 온도 측정

- 순환 펌프를 작동할 시점 결정

- LCD에 데이터 표시

- EEPROM에 설정 저장

- 이더넷을 통해 원격 대시보드에 작동 상태 전송

**Ethernet Shield**는 시스템을 훨씬 강력하게 만들어 다음과 같은 기능을 가능하게 합니다:

- 홈 네트워크 통합

- 브라우저 기반 시스템 온도 확인

- 원격 펌프 상태 모니터링

- 시스템 최적화를 위한 데이터 기록

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465360%2Epng)

컨트롤러는 태양열 집열기와 물 저장 탱크 간의 온도 차이를 모니터링하고, 열 획득이 최적일 때 순환 펌프를 활성화합니다. 이를 통해 효율성을 극대화하고 과열 또는 열 손실을 방지합니다.

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765465307%2Epng)

---

## 🧩COMPONENTS

### 🧠 Hardware

Arduino UNO / Nano

- Arduino 이더넷 쉴드 (W5100 또는 W5500 기반)

- **온도 센서** (집열기 + 탱크)

- PT1000 RTD (고온 태양열 패널용)

- 10k 서미스터 (기존 저장 탱크 센서용)

- DS18B20 디지털 센서

- 펌프 제어를 위한 릴레이 또는 SSR (Solid State Relay)

- 20x4 LCD (I²C 옵션)

- EEPROM (내장)

- 수동 스위치 / LED

- 실외 등급 배선 및 인클로저

## 🧰 SYSTEM OVERVIEW

```css
  Solar Collector Temp ----┐
                           					 │
  Tank Temp Sensor --------┼--> Arduino Controller
                        					 │  			      │
			                                 │    			  │
                    					Relay Output   │ ---> Pump ON/OFF
                                    							  │
					                       LCD Display  │ ---> Status UI
                                    							  │
						                        Ethernet   │ ---> Web Monitoring
                        					    Shield
```

Arduino는 제어 로직을 처리하며, 이더넷 쉴드는 다음을 수행하는 간단한 웹 인터페이스를 호스팅합니다:

- 모든 온도 표시

- 펌프 상태 표시

- 원격 펌프 활성화/비활성화 허용

## ✔ KEY FEATURES

#### 🔹 **Smart Pump Control**

- ΔT (집열기 – 탱크 온도 차이) 계산

- 에너지 획득이 양수일 때만 펌프 활성화

- 밤에 역방향 열 흐름 방지

### 🔹 **Ethernet-Based Monitoring**

이더넷 쉴드를 통해 사용자는 다음을 수행할 수 있습니다:

- 웹 브라우저를 통해 온도 확인

- 원격으로 펌프 상태 확인

- 추적을 위해 Excel, Home Assistant 또는 Grafana와 같은 도구 사용

- 시스템 유지 보수 및 최적화를 위한 데이터 로깅

![](https://maker.wiznet.io/upload/ckeditor5/201742316%5F1765466065%2Epng)n

### 🔹 **Clear Local UI**

LCD는 다음을 보여줍니다:

- 집열기 온도

- 탱크 온도

- 펌프 상태

- 시스템 모드 (자동/수동) 유지 보수 및 직접적인 로컬 제어에 유용합니다.

### 🔹 **Improved Energy Efficiency**

2세대 설계는 대기 손실을 줄이고 태양열 획득을 최적화합니다.s

---

## 🧠 ENGINEERING INSIGHTS

- DS18B20 센서 사용은 안정적이고 방수되는 온도 측정을 가능하게 합니다.

- 이더넷 쉴드 통합은 Wi-Fi 모듈 없이 IoT 기능을 단순화합니다.

- 브라우저 기반 대시보드는 태양열 집열 효율의 실시간 시각화를 가능하게 합니다.

- EEPROM 기반 구성은 영구적인 사용자 설정을 보장합니다.

- 릴레이 격리는 펌프 제어의 안전성을 향상시킵니다

W5500으로 업그레이드하면 신뢰성과 네트워크 성능이 더욱 향상됩니다.

---

Source: https://maker.wiznet.io/irina/projects/2nd-gen-arduino-hot-water-solar-collector-controller-1/
