Wiznet makers

irina

Published May 07, 2025 © Apache License 2.0 (Apache-2.0)

96 UCC

5 WCC

87 VAR

0 Contests

0 Followers

0 Following

Original Link

OpenDTU-OnBattery

ESP32 and W5500-Based Smart Solar Inverter Controller for Energy Management

COMPONENTS
PROJECT DESCRIPTION

🔍 Overview

OpenDTU-OnBattery is an open-source firmware project that helps homeowners optimize energy usage in their solar power systems.
By integrating an ESP32 microcontroller and the WIZnet W5500 Ethernet chip, this system enables reliable and real-time dynamic control of solar inverters, smart meters, and battery storage.

The OpenDTU board is an open hardware platform designed to control and monitor Hoymiles solar inverters, battery systems, and smart meters. When combined with the WIZnet W5500 Ethernet chip, the system ensures rock-solid communication—even in industrial or RF-hostile environments.

This article focuses on how W5500 enhances OpenDTU Fusion deployments, particularly in use cases where Wi-Fi is unstable, static IPs are required, or network recovery must be fast and reliable.


🔧 Key Features of OpenDTU-OnBattery

  • Dynamic Power Limiter (DPL): Reduce power feedback to the grid by adjusting inverter output
  • Web-Based UI: Access via browser for configuration, monitoring, and OTA updates
  • Battery Management System (BMS) Support: Compatible with JK BMS, Daly, Victron, and more
  • Smart Meter Integration: Works with Shelly 3EM, SDM series, and PZEM meters
  • MQTT/Home Assistant Support: Ideal for smart home automation
  • Reliable Wired Networking: W5500 chip offers hardware-based TCP/IP for Ethernet

⚙️ Hardware Configuration

ComponentRole/Function
ESP32Main microcontroller, Arduino-compatible
WIZnet W5500Ethernet interface via hardware TCP/IP stack
InverterSolar inverter (Hoymiles, TSUN, Solenso)
Power MeterShelly 3EM, SDM120/630, PZEM
Battery BMSJK, Daly, Pylontech, Victron

SPI Wiring Between ESP32 and W5500

ESP32     ↔     W5500
--------------------------
GPIO18    ↔     SCK
GPIO23    ↔     MOSI
GPIO19    ↔     MISO
GPIO5     ↔     CS
GND       ↔     GND
3.3V      ↔     VCC

⚙️ System Architecture with W5500

[PV Panel]
    ↓
[Hoymiles Inverter] ←→ [OpenDTU Fusion Board]
                             ↓
                     [ESP32-S3 MCU]
                             ↓
                     [WIZnet W5500]
                             ↓
                        [Ethernet]
                             ↓
             [MQTT Broker / Home Assistant / Grid Monitor]

📷 Example Images📷 Example Images

ESP32-S3 based OpenDTU Fusion board

💡 Why Choose W5500?

  • Built-in hardware TCP/IP stack
  • Reliable Ethernet connectivity, no DHCP dependency
  • Perfect for static IP applications
  • Recovers network connection after power loss without MCU intervention

🛠 Firmware & Configuration

  1. Flash OpenDTU-OnBattery firmware with W5500 support
  2. In Web UI, upload a pin_mapping.json that defines:
"w5500.cs": 5,
"w5500.rst": 15,
"w5500.int": 14
  1. Use DHCP or assign static IP via Ethernet config
  2. MQTT settings can remain the same as with Wi-Fi

✅ Use Cases

  • Smart solar inverter control with DPL
  • Monitoring power flow in residential systems
  • Integration with smart home automation platforms (e.g., Home Assistant)
  • Battery energy storage monitoring with open protocol

🔗 References



📷 Example: OpenDTU Fusion + W5500 in Action

  • Used in industrial environments where wired networking is a must
  • Powered via PoE + communicates over Ethernet without Wi-Fi dependency

✅ Conclusion

For those building resilient, always-on smart solar systems, adding W5500 to OpenDTU Fusion turns it into an industrial-grade controller.
This setup is ideal for:

  • ⚙️ Off-grid battery-backed PV systems
  • 🏭 Industrial rooftops or metal-structure houses
  • 🧠 Smart energy applications with low tolerance for downtime

Don't rely on Wi-Fi when Ethernet is king—especially when W5500 makes it this easy.


📈 Keywords (SEO)

OpenDTU, W5500 Ethernet, ESP32 solar inverter, smart grid energy, MQTT Home Assistant solar,
OpenDTU OnBattery tutorial, ESP32 with W5500 wiring, Arduino Ethernet inverter,
dynamic power limiter solar, solar inverter BMS integration

Documents
  • github

Comments Write