---
title: "W5500 Brings Wired ESPHome Monitoring to Multi-Pack LiFePO4 Battery Systems"
url: "https://maker.wiznet.io/jakelee/projects/esp32-s3-w5500-monitors-multi-pack-lifepo4-batteries-via-esphome/"
markdown_url: "https://maker.wiznet.io/jakelee/projects/esp32-s3-w5500-monitors-multi-pack-lifepo4-batteries-via-esphome/md"
type: "UCC: User Created Content"
author: "Hinoserm"
author_url: "https://github.com/Hinoserm/esphome-tdt-bms"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Hinoserm"
original_url: "https://github.com/Hinoserm/esphome-tdt-bms"
published: "2026-09-26"
language: "en"
tags: ["ESPHome"]
hardware: ["Espressif ESP32-S3-DevKitC-1", "WIZnet W5500"]
likes: 0
views: 82
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# W5500 Brings Wired ESPHome Monitoring to Multi-Pack LiFePO4 Battery Systems

> ESP32-S3 + W5500 connects TDT-1001 LiFePO4 BMS data to ESPHome and Home Assistant, including multi-pack monitoring over one RS-232 link.

Original author: Hinoserm (source: https://github.com/Hinoserm/esphome-tdt-bms)

## Components

- **Espressif ESP32-S3-DevKitC-1** x 1
- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## What is the project?

`esphome-tdt-bms` is an ESPHome external component developed for **Humsienk 100 Ah rack-mount LiFePO4 batteries** and other battery packs using a **TDT-1001 BMS or compatible variant**.

Its purpose is to take detailed battery-management data from the BMS and expose it as sensors inside **ESPHome / Home Assistant**. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

The author reports testing the implementation with:

**2 × Humsienk 16S 100 Ah LiFePO4 packs**
↓
TDT-1001 BMS
↓ RS-232
**ESP32-S3-DevKitC-1**
↓
**W5500 Ethernet**
↓
ESPHome
↓
Home Assistant

The tested software environment was **ESPHome 2026.4.4 / 2026.4.5 using the ESP-IDF framework**. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

## What data can it monitor?

This is where the project becomes more substantial than a typical ESPHome Ethernet example.

The component can retrieve data including:

- Individual cell voltages for up to 16 cells

- Pack voltage, current and power

- Remaining/full/design capacity

- State of Charge (**SOC**)

- State of Health (**SOH**)

- Cycle count

- Up to six temperature channels

- Highest/lowest battery temperature

- MOSFET charging/discharging state

- Insulation resistance

- BMS self-consumption

- Protection, warning and fault states

- Cell balancing activity

- Battery chemistry and operating mode

- Firmware version

- Active-balance information when supported by the BMS firmware

The author states that these functions were **validated end-to-end on live hardware**, rather than being theoretical protocol definitions. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

## One ESP32 can monitor multiple battery packs

This is probably the most interesting application feature.

The project supports **multi-pack battery chains**.

Several battery packs can be linked using their inter-pack communication ports. The ESP32 only needs to connect to the **master battery's RS-232 console port**, and the component can then poll the other packs through the chain. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

Conceptually:

```plaintext
LiFePO4 Pack #2
      │
      │ Inter-pack chain
      ▼
LiFePO4 Pack #1 / Master
      │
      │ RS-232
      ▼
   MAX3232
      │
      │ UART
      ▼
ESP32-S3-DevKitC-1
      │
      │ Ethernet
      ▼
     W5500
      │
      ▼
Home Assistant / Network
```

The author's validated setup uses **two 16S 100 Ah packs in a master/slave configuration**. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

## What exactly is W5500 doing?

The repository explicitly lists the tested platform as:

> **ESP32-S3-DevKitC-1 with W5500 ethernet**

So W5500 provides the **wired network connection for the ESPHome device**. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

This creates an interesting separation of interfaces:

**RS-232 / UART → battery communicationW5500 Ethernet → network / Home Assistant communication**

In other words, the ESP32-S3 acts as a bridge between a relatively traditional industrial-style serial BMS interface and a modern IP-based monitoring system.

ESPHome officially supports W5500 as an SPI Ethernet controller on ESP32-family devices, which is consistent with this implementation. [ESPHome - Smart Home Made Simple](https://next.esphome.io/components/ethernet/?utm_source=chatgpt.com)

One point we should **not** claim from this repository is that the W5500's hardwired TCP/IP socket engine is being used. The author only identifies **W5500 Ethernet** as part of the tested ESP-IDF/ESPHome system. The repository does not document a WIZnet socket-offload implementation.

## Interesting ESP32-S3 engineering detail

The developer also documented a practical issue with the ESP32-S3.

When using the ESP-IDF framework, UART0 is initially configured for console output. If the BMS is later assigned to that UART, leftover console configuration can corrupt the first serial frame and cause the BMS to stop responding.

The author's solution is to disable the IDF console use of UART0 through `sdkconfig` and move logging to **USB Serial/JTAG**. [GitHub](https://github.com/Hinoserm/esphome-tdt-bms)

That level of troubleshooting is another reason I would treat this as a genuine implementation rather than a superficial project.

## Why it matters for WIZnet

For our internal discussion, I think the interesting angle is **not simply “another ESP32 + W5500 project.”**

It demonstrates W5500 in a practical **battery-energy monitoring gateway**:

> **Battery BMS → RS-232 → ESP32-S3 → W5500 Ethernet → Home Assistant**

That puts W5500 into an application area adjacent to **ESS, solar storage, UPS/rack batteries and remote battery monitoring**.

I would be careful not to call it an ESS product—the source describes Humsienk rack-mount LiFePO4 batteries, not a commercial ESS deployment—but the architecture is clearly relevant to that class of applications.

### Trend / Insight

The broader pattern we've been seeing is interesting:

**ESP32 + W5500 is increasingly appearing where ESPHome/Home Assistant devices need wired connectivity instead of relying only on Wi-Fi.**

Our previous Polymorphic Blocks example used **ESP32-S3 + W5500 + PoE** for a wired camera. This project uses **ESP32-S3 + W5500** for a multi-pack battery-monitoring gateway.

So I would categorize this as:

**Industrial / Energy Monitoring → ESPHome → Wired Ethernet**

rather than a generic maker project.

---

Source: https://maker.wiznet.io/jakelee/projects/esp32-s3-w5500-monitors-multi-pack-lifepo4-batteries-via-esphome/
