Wiznet makers

gunn

Published September 14, 2026 ©

110 UCC

6 VAR

0 Contests

0 Followers

0 Following

Original Link

How Does a W5500 Modbus TCP BMS Connect a Rescue Robot Battery to ROS 2?

A Paderborn University lab BMS runs a Modbus TCP server on a W5500 hardware socket, port 502, so a ROS 2 node reads cell data and publishes BatteryState.

COMPONENTS
PROJECT DESCRIPTION

📝 Project Overview

This project is an open-source hardware and software solution implementing an IoT-based Battery Management System (BMS) designed for applications such as Energy Storage Systems (ESS), Electric Vehicles (EVs), or remote off-grid power systems.

Key features include:

1. Data Acquisition and Monitoring: Real-time measurement of voltage, current, and temperature for each battery cell to calculate the State of Charge (SoC) and State of Health (SoH).
2. Protection Control: Detection of hazardous conditions—such as over-charge, over-discharge, or overheating—triggers the control of relays or pack contactors to disconnect the circuit.
3. Remote Telemetry: Transmission of collected battery diagnostic data over a network to a central control server, dashboard, or MQTT broker, enabling administrators to monitor and control the system remotely.

 

🌐 Role of the W5500

In this BMS design, the WIZnet W5500 serves as a hardware TCP/IP controller dedicated to providing reliable wired Ethernet communication for remote monitoring.

Its specific roles and advantages include:

*   Network Processing Offloading: The BMS's main MCU must prioritize safety-critical operations, such as real-time voltage/current calculations and relay control. The W5500 handles complex network protocols—including TCP, UDP, and IPv4—entirely within its internal hardware, thereby drastically reducing the resource burden (CPU usage and memory) on the MCU. * Ensuring communication reliability in noisy environments: The areas surrounding battery packs and inverters are prone to severe electromagnetic interference (EMI/EMC) and noise due to high-voltage, high-current switching. While wireless communication like Wi-Fi may experience interruptions in such industrial settings, W5500-based wired Ethernet remains unaffected by signal interference, ensuring uninterrupted data transmission.
* Real-time data streaming (SPI interface): The main MCU accesses the W5500 via SPI communication to transmit real-time battery diagnostic data (cell voltage, temperature, alarm logs, etc.) to an external server over Ethernet. Supporting up to eight independent hardware sockets, the system allows for simultaneous operation—for instance, using one socket for MQTT data transmission while another manages a local web server for monitoring.

In summary, the W5500 plays a pivotal role as an industrial network bridge in this project, establishing a secure and uninterrupted remote battery monitoring network.

 

[Q&A]

 

Q1. What are the primary objectives and key features of the `frankonerio/BMS` project?
A1. This is an IoT-based Battery Management System (BMS) project designed for Energy Storage Systems (ESS), Electric Vehicles (EVs), and remote power systems. It provides functions such as monitoring battery cell voltage, current, and temperature; calculating SoC (State of Charge) and SoH (State of Health); performing safety cut-offs via relays in the event of anomalies; and transmitting remote monitoring data (telemetry) over a network.

 

Q2. Why was W5500-based wired Ethernet chosen over wireless (Wi-Fi) for this Battery Management System (BMS)?
A2. The areas surrounding battery packs, inverters, and motors are environments prone to significant electromagnetic interference (EMI/EMC) and noise due to high-current switching and high-voltage operations. Since wireless communication carries a high risk of packet loss or connection drops in such noisy environments, the stable wired Ethernet controller (W5500)—which is less susceptible to signal interference—is utilized to ensure reliable communication.

 

Q3. What benefits does the W5500’s hardware TCP/IP offloading function offer regarding the main MCU's processing tasks?
A3. The BMS main MCU must perform critical, real-time tasks—such as calculating cell voltages, monitoring temperatures, and controlling relay cutoffs—without any latency. Because the W5500 handles complex network protocols (including TCP/IP, UDP, and IPv4) via its internal hardware, it drastically reduces the MCU's CPU load and memory usage, allowing the MCU to focus on the main control logic.

 

Q4. How are the W5500 and the MCU connected, and how can the multi-socket function be utilized?
A4. The MCU and the W5500 exchange real-time data via an SPI interface. Since the W5500 supports up to eight independent hardware sockets, it enables a multitasking network environment; for instance, one or more sockets can be used to transmit data to an external cloud via the MQTT protocol, while other sockets are simultaneously allocated to run a web server for local network monitoring. [Similar Projects]

 


1. [BeeMS - Open-Source Battery Management System](https://www.google.com/search?q=https://maker.wiznet.io/matthew/projects/beems/)

* Key Components: Battery control MCU, CAN bus, WIZnet W5500 Ethernet module
* Project Features: An open-source BMS project that collects safety logic and cell monitoring data from within an EV (Electric Vehicle) battery pack and transmits it in real-time to a host SCADA or control PC via a CAN-to-Ethernet bridge.
* Similarities and Relevance: This project aligns most directly with `frankonerio/BMS`. It shares an architecture that reliably offloads battery safety control and cell diagnostic data—collected in high-noise hardware environments—via a wired backhaul using the W5500 hardware TCP/IP stack.

---

2. [OpenDTU-OnBattery - Smart Solar & BESS Monitor](https://www.google.com/search?q=https://maker.wiznet.io/irina/projects/opendtu-onbattery/)

* Key Components: ESP32, WIZnet W5500, protocols for interfacing with battery BMS (e.g., Daly, JK)
* Project Features: An energy monitoring solution that collects battery BMS data from solar inverters and Battery Energy Storage Systems (BESS/ESS) and transmits it over a wired network using open protocols (MQTT/HTTP).
* Similarities and Relevance: It shares the common function of monitoring battery pack (BMS) data, such as SoC/SoH, voltage, and current status. It is also similar in its use of a W5500-based wired Ethernet network—rather than Wi-Fi—to ensure reliable connectivity amidst the strong electromagnetic interference (EMI) typically found around inverters and high-power battery systems. ---

3. [EPEM ESP32-C6 ATM90E36 Ethernet Power Energy Monitor](https://www.google.com/search?q=https://maker.wiznet.io/scott/projects/epem-esp32-c6-atm90e36-ethernet-power-energy-monitor-sdk/)

* Key Components: ESP32-C6, ATM90E36 power metering IC, WIZnet W5500 Ethernet controller, RS-485.
* Project Features: An open-source hardware power monitoring platform that precisely measures power, voltage, and current data; it utilizes the W5500's hardware TCP/IP stack to stream real-time telemetry data to a monitoring server, thereby offloading computational tasks.
* Similarities and Relevance: It shares a design philosophy with BMS systems by focusing on the core functions of data acquisition (power, voltage, current) and protection logic, while offloading network protocol processing to the W5500 to dedicate the MCU's CPU resources to control and calculation tasks.

===============

 

📝 프로젝트 요약 (Overview)

이 프로젝트는 에너지 저장 장치(ESS), 전기차(EV) 또는 원격 독립형 전원 시스템을 위한 IoT 기반 배터리 관리 시스템(Battery Management System, BMS)을 구현한 오픈소스 하드웨어 및 소프트웨어 솔루션입니다.

주요 기능은 다음과 같습니다.

1. 데이터 수집 및 모니터링: 각 배터리 셀의 전압(Voltage), 전류(Current), 온도(Temperature)를 실시간으로 측정하여 배터리의 충전 상태(SoC, State of Charge)와 건강 상태(SoH, State of Health)를 계산합니다.
2. 보호 제어(Protection): 과충전(Over-charge), 과방전(Over-discharge), 과열 등 배터리의 위험 상태를 감지하면 릴레이나 팩 컨택터를 제어하여 회로를 차단합니다.
3. 원격 텔레메트리(Telemetry): 수집된 배터리 진단 데이터를 네트워크를 통해 중앙 관제 서버, 대시보드 또는 MQTT 브로커로 전송하여 관리자가 원격에서 시스템 상태를 모니터링하고 제어할 수 있도록 합니다.

 

 

🌐 W5500의 역할 (Role of W5500)

이 BMS 설계에서 WIZnet W5500은 원격 모니터링을 위한 안정적인 유선 이더넷(Ethernet) 통신을 전담하는 하드웨어 TCP/IP 컨트롤러로 사용됩니다.

구체적인 역할과 도입 이점은 다음과 같습니다.

* 네트워크 처리 오프로드(Offloading): 배터리 관리 시스템의 메인 MCU는 실시간 전압/전류 계산 및 릴레이 제어 등 안전과 직결된 연산에 집중해야 합니다. W5500은 TCP, UDP, IPv4 등의 복잡한 네트워크 프로토콜 처리를 칩 내부 하드웨어에서 전담하므로 MCU의 리소스(CPU 점유율, 메모리) 부담을 획기적으로 줄여줍니다.
* 노이즈 환경에서의 통신 신뢰성 확보: 배터리 팩과 인버터 주변은 고전압 및 대전류 스위칭으로 인해 전자기 간섭(EMI/EMC)과 노이즈가 매우 심한 환경입니다. Wi-Fi와 같은 무선 통신은 이러한 산업 환경에서 끊김이 발생할 수 있지만, W5500 기반의 유선 이더넷은 방해 전파에 영향을 받지 않고 중단 없는 데이터 송수신을 보장합니다.
* 실시간 데이터 스트리밍 (SPI 인터페이스): 메인 MCU는 SPI 통신을 통해 W5500에 접근하여 실시간 배터리 진단 데이터(셀 전압, 온도, 알람 로그 등)를 이더넷을 통해 외부 서버로 전송합니다. 최대 8개의 독립적인 하드웨어 소켓을 지원하여, 하나의 소켓은 MQTT 데이터 전송에 사용하고 다른 소켓은 로컬 웹서버 관제용으로 동시 운영할 수 있습니다.

요약하자면, 이 프로젝트에서 W5500은 '안전하고 중단 없는 배터리 원격 관제망'을 구축하기 위한 산업용 네트워크 브릿지의 핵심 역할을 수행합니다.

 

[Q&A]

 

Q1. `frankonerio/BMS` 프로젝트의 주요 목적과 핵심 기능은 무엇인가요?
A1. 에너지 저장 장치(ESS), 전기차(EV), 원격 전원 시스템을 위한 IoT 기반 배터리 관리 시스템(BMS) 프로젝트입니다. 배터리 셀의 전압·전류·온도 모니터링, SoC(충전 상태)/SoH(건강 상태) 연산, 이상 발생 시 릴레이를 통한 안전 차단, 그리고 네트워크를 통한 원격 관제 데이터 전송(텔레메트리) 기능을 제공합니다.

 

Q2. 배터리 관리 시스템(BMS)에서 무선(Wi-Fi) 대신 W5500 기반의 유선 이더넷을 채택한 이유는 무엇인가요?
A2. 배터리 팩, 인버터, 모터 주변은 대전류 스위칭 및 고전압으로 인해 전자기 간섭(EMI/EMC)과 노이즈가 강하게 발생하는 환경입니다. 무선 통신은 이러한 노이즈 환경에서 패킷 손실이나 접속 끊김이 발생할 위험이 크기 때문에, 방해 전파의 영향이 적고 안정적인 유선 이더넷 컨트롤러(W5500)를 활용해 통신 신뢰성을 확보합니다.

 

Q3. W5500의 하드웨어 TCP/IP 오프로드(Offloading) 기능이 메인 MCU 작업 처리에 어떤 이점을 주나요?
A3. BMS의 메인 MCU는 배터리의 안전과 직결된 실시간 셀 전압 계산, 온도 감지, 릴레이 차단 제어 등을 지연 없이 수행해야 합니다. W5500은 TCP/IP, UDP, IPv4 등 복잡한 네트워크 프로토콜 처리를 칩 내부 하드웨어로 자체 담당하므로 MCU의 CPU 점유율과 메모리 사용량을 획기적으로 낮춰 메인 제어 로직에 집중할 수 있게 해줍니다.

 

Q4. W5500과 MCU는 어떤 인터페이스로 연결되며, 다중 소켓 기능은 어떻게 활용될 수 있나요?
A4. MCU와 W5500은 SPI 인터페이스를 통해 실시간 데이터를 주고받습니다. W5500은 최대 8개의 독립적인 하드웨어 소켓을 지원하므로, 하나 이상의 소켓은 MQTT 프로토콜을 통한 외부 클라우드 데이터 전송용으로 사용하고, 다른 소켓은 로컬 네트워크 관제용 웹서버 운영에 동시에 할당하여 멀티태스킹 네트워크 환경을 구성할 수 있습니다.

 

 

[유사 프로젝트]

 


1. [BeeMS - Open-Source Battery Management System](https://www.google.com/search?q=https://maker.wiznet.io/matthew/projects/beems/)

* 주요 구성: 배터리 제어 MCU, CAN 버스, WIZnet W5500 이더넷 모듈
* 프로젝트 특징: EV(전기차) 배터리 팩 내부의 안전 로직과 셀 모니터링 데이터를 수집한 뒤, CAN-to-Ethernet 브릿지를 통해 상위 SCADA/관제 PC로 실시간 전송하는 오픈소스 BMS 프로젝트입니다.
* 유사점 및 연관성: `frankonerio/BMS`와 가장 직접적으로 일치하는 프로젝트입니다. 배터리의 안전 제어 및 셀 상태 진단 데이터를 노이즈가 심한 하드웨어 환경에서 W5500 하드웨어 TCP/IP를 통해 유선 백홀로 안정적으로 오프로딩(Offloading)하는 아키텍처를 공유합니다.

---

2. [OpenDTU-OnBattery - Smart Solar & BESS Monitor](https://www.google.com/search?q=https://maker.wiznet.io/irina/projects/opendtu-onbattery/)

* 주요 구성: ESP32, WIZnet W5500, 배터리 BMS(Daly, JK 등) 연동 프로토콜
* 프로젝트 특징: 태양광 인버터 및 에너지 저장 장치(BESS/ESS)의 배터리 BMS 데이터를 수집하여 오픈 프로토콜(MQTT/HTTP) 기반으로 유선망에 전송하는 에너지 모니터링 솔루션입니다.
* 유사점 및 연관성: 배터리 팩(BMS)의 SoC/SoH, 전압, 전류 상태 데이터를 모니터링한다는 공통점이 있습니다. 인버터 및 고전력 배터리 주변의 강한 전자기 간섭(EMI)을 극복하기 위해 Wi-Fi 대신 W5500 유선 이더넷 기반의 하드웨어 네트워크를 구축한 점이 유사합니다.

---

3. [EPEM ESP32-C6 ATM90E36 Ethernet Power Energy Monitor](https://www.google.com/search?q=https://maker.wiznet.io/scott/projects/epem-esp32-c6-atm90e36-ethernet-power-energy-monitor-sdk/)

* 주요 구성: ESP32-C6, ATM90E36 전력 계측 IC, WIZnet W5500이더넷 컨트롤러, RS-485
* 프로젝트 특징: 전력 및 전압·전류 데이터를 정밀 측정하고, 연산 부하를 차단하기 위해 W5500의 하드웨어 TCP/IP를 활용해 실시간 텔레메트리 데이터를 관제 서버로 스트리밍하는 오픈소스 하드웨어 전력 몬터링 플랫폼입니다.
* 유사점 및 연관성: BMS 시스템의 핵심 요소인 전력/전압/전류 수집 및 보호 로직에 집중하면서, 네트워크 프로토콜 처리는 W5500에 오프로드하여 MCU의 CPU 리소스를 제어 및 계산에 집중시킨다는 설계 철학을 공유합니다.

 

[시사점]

 

1. 고노이즈·고전압 환경(BMS/BESS)에서의 하드웨어 유선 이더넷 우위 검증
시사점: 배터리 팩, 인버터, 모터 드라이버 주변은 고전압 및 대전류 스위칭으로 인해 강력한 전자기 간섭(EMI/EMC)이 발생하는 대표적인 고노이즈 환경입니다.

위즈네트의 기회: 이러한 환경에서는 Wi-Fi나 BLE 같은 무선 통신의 신뢰성이 급격히 떨어집니다. W5500과 같은 유선 하드웨어 이더넷 칩이 단순한 '연결 수단'을 넘어 '노이즈를 극복하고 시스템 신뢰성을 보장하는 필수 부품'으로 평가받고 있음을 입증합니다.

 

2. '안전 필수(Safety-Critical) 시스템'에서 하드웨어 TCP/IP 오프로딩의 핵심 가치
시사점: BMS의 메인 MCU는 배터리 폭발·열폭주를 막기 위해 셀 전압/온도 감지, 실시간 릴레이 차단 등 제로 딜레이(Zero-delay) 실시간 제어를 수행해야 합니다.

위즈네트의 기회: SW 기반 TCP/IP 스택을 구동할 경우 MCU의 CPU 리소스 점유와 인터럽트 지연이 발생할 수 있습니다. 위즈네트 특허 기술인 Hardwired TCP/IP Engine이 네트워크 프로토콜 처리를 100% 하드웨어로 오프로딩해 줌으로써, "안전성 증대 + MCU 스펙 절감(Cost reduction)"이라는 강력한 세일즈 포인트를 제공합니다.

 

3. 급성장하는 에너지(BESS/ESS/EV) 시장으로의 신규 타깃 확장
시사점: 전 세계적인 친환경 에너지 전환(태양광, ESS, 전기차 등)으로 인해 BMS 및 에너지 모니터링 시스템 시장이 폭발적으로 성장하고 있습니다.

위즈네트의 기회: 기존 스마트 홈, 시리얼-투-이더넷(Serial-to-Ethernet) 시장을 넘어 산업용 BESS/BMS 모니터링 백홀 시장을 위즈네트 칩(W5500, W6100 등)의 핵심 성장 동력(Growth Engine)으로 재정의하고 집중 조명할 수 있습니다.

 

 

Documents

BMS repository (frankonerio/BMS)

Full project: STM32CubeIDE firmware, KiCad boards, ROS 2 host node, Qt GUI

Project README

Build instructions including section 5, Integrating W5500 Ethernet Library

WIZnet ioLibrary_Driver

The W5500 socket driver family vendored into the firmware at Core/Src/w5500

WIZnet W5500 product page

Hardwired TCP/IP Ethernet controller serving the Modbus TCP session

libmodbus

Host-side Modbus TCP client library used by the ROS 2 node

Paderborn University news on its RoboCup rescue robots

University coverage of the GET Lab rescue robot line at RoboCup (German)

SEGGER SystemView

Task tracing tool integrated into the FreeRTOS firmware; captures are in the Records folder

Documents
Comments Write