---
title: "EnergyMe Home Pro: An Ethernet-First Smart Energy Monitor Built with ESP32-S3 and W5500"
url: "https://maker.wiznet.io/Aimee0/projects/energyme-home-pro-an-ethernet-first-smart-energy-monitor-built-with-esp32-s3-and-w5500/"
markdown_url: "https://maker.wiznet.io/Aimee0/projects/energyme-home-pro-an-ethernet-first-smart-energy-monitor-built-with-esp32-s3-and-w5500/md"
type: "UCC: User Created Content"
author: "jibrilsharafi"
author_url: "https://github.com/jibrilsharafi/EnergyMe-Home"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "jibrilsharafi"
original_url: "https://github.com/jibrilsharafi/EnergyMe-Home"
published: "2026-10-12"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 13
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# EnergyMe Home Pro: An Ethernet-First Smart Energy Monitor Built with ESP32-S3 and W5500

> EnergyMe Home Pro: An Ethernet-First Smart Energy Monitor Built with ESP32-S3 and W5500

Original author: jibrilsharafi (source: https://github.com/jibrilsharafi/EnergyMe-Home)

## Components

- **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

## Overview

![](https://maker.wiznet.io/upload/ckeditor5/5b41f68a3e8f46b1849ec76202b8e2df.png)

*https://www.energyme.net/*

EnergyMe Home Pro는 ESP32-S3와 ADE7953을 기반으로 전력 사용량을 측정하고, WIZnet W5500을 통해 유선 Ethernet 연결을 지원하는 오픈소스 스마트 에너지 모니터링 장치입니다. 기존 EnergyMe Home의 Wi-Fi 연결 방식에 W5500 SPI Ethernet을 추가하여, Ethernet을 우선 사용하고 연결이 끊어지면 Wi-Fi로 전환하는 네트워크 구조를 구현했습니다.

EnergyMe-Home은 가정이나 건물의 여러 전기 회로에서 소비되는 전력을 측정하고 분석하기 위한 프로젝트입니다. 전압, 전류, 전력, 누적 에너지 등의 데이터를 수집하며, Web UI와 REST API, MQTT, Modbus TCP, InfluxDB 등의 인터페이스를 통해 외부 시스템과 연동할 수 있습니다.

기존 Home 모델이 최대 16개 회로를 모니터링하는 구성이라면, Home Pro는 12개 측정 채널과 W5500 Ethernet 인터페이스를 갖춘 별도 하드웨어 모델입니다.

Home Pro의 중요한 특징은 단순히 Ethernet 포트를 추가한 것이 아니라, Ethernet과 Wi-Fi를 하나의 펌웨어에서 관리하면서 네트워크 연결 상태에 따라 통신 경로를 선택한다는 점입니다.

![](https://maker.wiznet.io/upload/ckeditor5/186c90ea2cc54349ac30203ededf7b69.jpg)

## Company

![](https://maker.wiznet.io/upload/ckeditor5/fdf86775757c4aa39f076e119ad3bead.png)

*https://www.energyme.net/ourstory-en*

**EnergyMe**는 이탈리아 밀라노에 기반을 둔 에너지 모니터링 기술 스타트업으로, 누구나 쉽고 투명하게 에너지 사용량을 확인하고 관리할 수 있는 오픈소스 솔루션을 개발하고 있습니다.

EnergyMe는 개인 프로젝트로 시작하여 오픈소스 커뮤니티의 적극적인 참여와 피드백을 통해 발전해 왔습니다. GitHub를 통한 개발자들의 관심과 기여가 프로젝트의 성장에 중요한 역할을 했으며, Maker Faire와 같은 행사에서도 기술을 소개하고 있습니다.

현재 EnergyMe는 에너지 및 산업 분야에서 실무 경험을 쌓은 **3명의 엔지니어가 운영하는 스타트업**입니다. 서로 다른 전문 분야의 경험을 바탕으로 에너지 모니터링을 더욱 간단하고 투명하게 만들고, 사용자가 자신의 에너지 데이터를 직접 관리할 수 있도록 하는 것을 목표로 합니다.

## Technical Architecture

EnergyMe Home Pro는 전력 측정과 네트워크 통신을 분리한 구조입니다. ADE7953이 전기적 측정을 담당하고 ESP32-S3가 데이터를 처리하며, W5500이 Ethernet 연결을 제공합니다.

| Item | Confirmed Details |
| --- | --- |
| WIZnet Chip | W5500 SPI Ethernet |
| MCU | ESP32-S3-WROOM-1U-N16R8 |
| Energy Measurement IC | ADE7953 |
| Monitoring Channels | Home Pro v1.0: 12채널 |
| Network Interface | Ethernet 우선, Wi-Fi STA fallback |
| Protocol | REST API, MQTT, Modbus TCP, InfluxDB |
| Firmware | C++, PlatformIO, Arduino framework, FreeRTOS |

## System Architecture

![](https://maker.wiznet.io/upload/ckeditor5/2b88438a157649dda8fc095f0b757045.png)

*Generated by OpenAI*

ESP32-S3는 측정된 에너지 데이터를 처리하고, 활성화된 네트워크 인터페이스를 통해 Web UI 또는 외부 서비스에 제공합니다. Ethernet 연결이 가능한 경우 W5500 경로를 우선 사용하며, 연결이 끊어지면 Wi-Fi STA를 이용하도록 설계되었습니다.

## WIZnet Role in This Project

![](https://maker.wiznet.io/upload/ckeditor5/50adfe80bbf2435e836ceb55b1f2012c.png)

*https://github.com/jibrilsharafi/EnergyMe-Home/pull/246*

Home Pro에서 W5500은 ESP32-S3의 유선 Ethernet 네트워크 인터페이스로 사용됩니다.

핵심 구현은 `source/src/custometh.cpp`에 있으며, Arduino-ESP32의 `ETH.begin()` API를 통해 W5500을 초기화합니다. W5500 초기화에는 `ETH_PHY_W5500`이 사용되고, SPI 버스와 CS, IRQ, RST 핀은 하드웨어 프로파일에 따라 설정됩니다.

이 프로젝트는 W5500의 하드웨어 TCP/IP socket을 애플리케이션에서 직접 제어하는 방식이 아니라, ESP32의 Ethernet 드라이버와 lwIP 네트워크 스택을 사용하는 구조입니다.

#### Ethernet 우선 및 Wi-Fi 자동 전환

EnergyMe Home Pro의 Ethernet 구현에서 주목할 부분은 네트워크 경로 관리입니다.

- **Ethernet 우선**: W5500 Link와 IP 연결이 준비되면 Ethernet을 기본 경로로 사용합니다.

- **Wi-Fi fallback**: Ethernet 케이블이 분리되면 Wi-Fi STA 경로로 전환합니다.

- **Ethernet 복귀**: Ethernet 연결이 복구되면 10초 hold-down 정책을 적용해 경로를 다시 선택합니다.

- **서비스 재연결**: MQTT 연결을 새 네트워크 경로에서 다시 설정하고 DNS/NTP도 활성 인터페이스를 따르도록 처리합니다.

프로젝트의 [PR #246](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246)에는 실제 Home Pro 보드에서 케이블 분리 후 약 6초 이내에 Wi-Fi로 전환하고, Ethernet 복구 시 hold-down 이후 유선 경로로 복귀한 테스트 결과가 기록되어 있습니다. 이 수치는 해당 개발 환경에서 관측된 결과입니다.

또한 DHCP를 기본으로 사용하면서 Static IP 설정을 지원하므로, 처음 설치하는 환경과 고정 IP가 필요한 네트워크 환경을 모두 고려했습니다.

이 구현에서 W5500은 유선 Ethernet 인터페이스를 담당합니다. W5500의 하드웨어 TCP/IP 기능을 직접 사용하는 별도 TOE backend 사례가 아니라, ESP32-S3의 네트워크 스택과 연동한 SPI Ethernet 구성이라는 점이 중요합니다.

## Developer Takeaways

EnergyMe Home Pro는 W5500을 ESP32-S3 기반 제품에 통합하려는 개발자가 참고할 수 있는 실제 소스코드를 제공합니다.

**1. 하드웨어 프로파일 분리**: `source/src/hardware_profile.cpp`에서 제품별 핀맵과 Ethernet 지원 여부를 정의합니다. 동일한 코드베이스에서 Ethernet이 없는 Home과 W5500을 탑재한 Home Pro를 구분하는 방법을 참고할 수 있습니다.

**2. W5500 초기화**: `source/src/custometh.cpp`와 `source/include/custometh.h`에서 전용 SPI 버스 생성, `ETH.begin()` 호출, Ethernet 이벤트 처리 및 IP 설정 구조를 확인할 수 있습니다.

**3. 네트워크 경로 관리**: Ethernet 우선 연결, Wi-Fi fallback, Link 복구 시 경로 전환, MQTT 재연결 처리를 구현한 방식을 참고할 수 있습니다.

**4. 기존 제품에 Ethernet 기능 확장**: `source/platformio.ini`의 제품별 빌드 환경과 Home Pro 하드웨어 프로파일은 하나의 오픈소스 펌웨어에서 여러 제품 변형을 지원하는 사례입니다.

관련 소스와 변경 내용은 [EnergyMe-Home GitHub](https://github.com/jibrilsharafi/EnergyMe-Home) 및 [Home Pro PR #246](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246)에서 확인할 수 있습니다.

## Related Maker Content and Application Value

WIZnet Maker Site에는 에너지 모니터링과 W5500 Ethernet을 결합한 관련 사례들이 소개되어 있습니다.

**1. **[**Smart meter wifi gateway ESPHome Edition**](https://maker.wiznet.io/Alan/resellers/smart-meter-wifi-gateway-esphome-edition/)

스마트 미터의 P1 포트에서 데이터를 읽어 W5500 Ethernet을 통해 Home Assistant로 전달하는 사례입니다. EnergyMe Home Pro와 달리 기존 계량기 데이터를 가져오는 Gateway 구조입니다.

**2. **[**How to Build an Industrial BACnet/IP Energy Monitor with Arduino and WIZnet W5500**](https://maker.wiznet.io/scott/projects/how-to-build-an-industrial-bacnet-ip-energy-monitor-with-arduino-and-wiznet-w5500/)

전력 측정 데이터를 BACnet/IP 기반 건물 관리 시스템과 연결하는 사례입니다. EnergyMe Home Pro의 MQTT, REST, Modbus TCP 중심 연동과 비교할 수 있습니다.

**3. **[**EIOT.Energy EMS Dev Kit**](https://maker.wiznet.io/Sunny_/projects/eiot-energy-ems-dev-kit/)

ESP32-S3와 W5500/W6100을 활용한 에너지 관리 개발 플랫폼입니다. 개별 회로를 직접 측정하는 EnergyMe와 달리 외부 에너지 장비를 통합하는 EMS 구조에 초점을 맞춥니다.

이 사례들을 함께 살펴보면 WIZnet Ethernet을 이용한 에너지 모니터링 구조를 세 가지 방향으로 비교할 수 있습니다. 기존 계량기 데이터를 읽는 Gateway, 센서를 통해 전력을 직접 측정하는 장치, 여러 에너지 설비를 통합하는 EMS 플랫폼입니다.

EnergyMe Home Pro는 그중 전력 측정 기능과 W5500 기반 Ethernet/Wi-Fi 네트워크 전환을 하나의 ESP32-S3 장치에 통합한 사례라는 점에서 차별화됩니다.

## FAQ

**Q1. EnergyMe-Home의 모든 모델에 W5500이 사용되나요?**

아닙니다. 기존 Home 모델은 Wi-Fi 기반이며, Home Pro 모델에서 W5500 SPI Ethernet 지원이 추가되었습니다. ([Pull Request](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246))

**Q2. Ethernet 연결이 끊어지면 에너지 모니터링이 중단되나요?**

Home Pro는 Ethernet 연결이 끊어지면 Wi-Fi STA로 전환하도록 설계되어 있습니다. 다만 실제 서비스 연결 유지 여부와 전환 시간은 Wi-Fi 연결 상태 및 네트워크 환경에 따라 달라질 수 있습니다. ([Pull Request](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246))

**Q3. W5500의 Hardware TCP/IP Offload를 직접 사용하나요?**

W5500은 Ethernet 하드웨어로 사용되지만, 공개된 Home Pro 펌웨어는 Arduino `ETH` API와 LwIP를 통해 네트워크를 처리합니다. W5500의 하드웨어 socket API를 직접 사용하는 TOE backend 구현은 확인되지 않습니다.

## Verified Scope and Sources

| Source | Link | Checked Date |
| --- | --- | --- |
| Home Pro 구현 및 검증 | [GitHub PR #246](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246) | 2026-10-12 |
| Firmware / Hardware | [EnergyMe-Home GitHub](https://github.com/jibrilsharafi/EnergyMe-Home) | 2026-10-12 |
| 공식 프로젝트 웹사이트 | [EnergyMe](https://www.energyme.net/) | 2026-10-12 |
| Release History | [GitHub Releases](https://github.com/jibrilsharafi/EnergyMe-Home/releases) | 2026-10-12 |
| Home Assistant Integration | [GitHub](https://github.com/jibrilsharafi/homeassistant-energyme) | 2026-10-12 |
| 커뮤니티 소개 | [Home Assistant Community](https://community.home-assistant.io/t/i-built-17-channels-smart-energy-meter-fully-local-and-open-source-energyme-home/944468) | 2026-10-12 |

Home Pro 기능을 추가한 [PR #246](https://github.com/jibrilsharafi/EnergyMe-Home/pull/246)은 2026년 9월 28일 `development` 브랜치에 병합되었습니다. 해당 PR에는 W5500 Ethernet, 12채널 하드웨어, 네트워크 전환, 제품별 빌드 및 실제 하드웨어 검증 결과가 포함되어 있습니다. 다만 `main` 브랜치의 정식 배포 펌웨어에 Home Pro 지원이 포함되었는지는 Release별 확인이 필요합니다.

EnergyMe Home Pro는 ESP32-S3 기반 에너지 모니터링 장치에 W5500 Ethernet을 통합하고, Wi-Fi와의 네트워크 경로 전환까지 구현한 오픈소스 사례입니다. 특히 하드웨어 핀맵, Ethernet 초기화 코드, 네트워크 전환 로직, 제품별 빌드 구성이 공개되어 있어, W5500을 활용한 스마트 계측기나 고정형 IoT 장치를 설계하는 개발자에게 실질적인 참고 자료가 됩니다.

---

Source: https://maker.wiznet.io/Aimee0/projects/energyme-home-pro-an-ethernet-first-smart-energy-monitor-built-with-esp32-s3-and-w5500/
