Unfolded Circle Dock 3: Wired Smart Home Control with ESP32-S3 and W5500
Unfolded Circle Dock 3: Wired Smart Home Control with ESP32-S3 and W5500
📌 Overview
Unfolded Circle Dock 3는 Remote 3 충전 기능과 함께 IR 및 RS232 장치를 local network에서 제어할 수 있도록 설계된 smart home control endpoint이다. 제품은 ESP32-S3를 중심으로 Wi-Fi, Ethernet, IR blaster, IR learning, RS232, WebSocket API와 OTA 기능을 통합한다. 공식 사양에는 2.4 GHz Wi-Fi, Bluetooth 5, 100 Mbit Ethernet, PoE 802.3af가 명시되어 있다.
공개 firmware에는 ESP32-S3와 W5500을 SPI로 연결하는 Ethernet driver 경로가 구현되어 있다. 다만 source configuration을 자세히 살펴보면 W5500은 pre-production Hardware Rev 3에서 선택되며, production Rev 4와 Rev 6에서는 기본 Ethernet controller로 KSZ8851SNL이 사용된다. 따라서 이 프로젝트는 “모든 Dock 3 양산 제품이 W5500을 사용한다”는 사례가 아니라, 하나의 product firmware에서 W5500을 포함한 여러 SPI Ethernet controller를 지원한 설계 사례로 이해해야 한다.
📌 Features
1. 여러 SPI Ethernet Controller를 지원하는 공통 Firmware 구조
Kconfig.projbuild는 Ethernet controller를 다음 세 가지 중 하나로 선택할 수 있도록 구성되어 있다.
DM9051KSZ8851SNLW5500
각 controller는 동일한 eth_init_spi() 함수 안에서 compile-time option에 따라 생성된다. 이후 공통 esp_eth_driver_install() 경로로 연결되기 때문에, 상위 network manager와 application service는 Ethernet controller 종류에 크게 의존하지 않는다.
이 구조는 prototype과 production board에서 Ethernet controller가 변경되더라도 WebSocket, HTTP, TCP, OTA와 같은 상위 application을 유지할 수 있다는 점에서 의미가 있다.
2. W5500을 사용하는 ESP32-S3 SPI Ethernet 초기화
W5500 build에서는 다음 API 흐름이 사용된다.
spi_bus_initialize()
→ ETH_W5500_DEFAULT_CONFIG()
→ esp_eth_mac_new_w5500()
→ esp_eth_phy_new_w5500()
→ esp_eth_driver_install()
→ esp_eth_ioctl(ETH_CMD_S_MAC_ADDR)SPI device는 Mode 0, queue size 20으로 설정되며 기본 SPI clock은 25 MHz이다. Interrupt GPIO가 활성화되면 GPIO ISR service를 사용하고, interrupt가 비활성화된 구성에서는 polling mode를 선택할 수 있다.
3. Wi-Fi와 Ethernet을 함께 관리하는 Network State Machine
Dock 3 firmware는 Ethernet과 Wi-Fi를 각각 별도의 network interface로 관리한다. Ethernet link가 연결되면 wifi_disconnect()가 호출되며, Ethernet link 또는 IP 상태 변화는 network state machine event로 전달된다. Ethernet을 사용할 수 없을 때 Wi-Fi configuration이 존재하면 Wi-Fi 경로로 전환할 수 있도록 ETH_FALLBACK event도 구현되어 있다.
이 구조는 두 interface를 무조건 동시에 활성화하는 방식보다, 현재 활성화된 network path를 명확히 관리하는 방식에 가깝다.
4. Local WebSocket API를 통한 IR 및 RS232 Control
Dock 3는 port 80에서 WebSocket server를 제공하며 JSON text message를 사용한다. Client는 인증 후 ir_send, IR learning, external port mode 설정, RS232 data 송수신 등의 기능을 요청할 수 있다.
WebSocket 연결은 ws를 사용하며 공개 문서에서는 wss를 지원하지 않는다고 명시한다. 따라서 trusted local network에서 사용하는 것을 전제로 접근 제어와 network isolation을 함께 고려해야 한다.
5. WebSocket과 Raw TCP를 함께 지원하는 RS232 Bridge
외부 port를 RS232 mode로 설정하면 UART data를 두 가지 방식으로 전달할 수 있다.
- WebSocket JSON API
- GlobalCache-compatible raw TCP bridge
Raw TCP mapping은 다음과 같다.
| External Port | UART | TCP Port |
|---|---|---|
| Port 1 | UART_NUM_1 | 4999 |
| Port 2 | UART_NUM_2 | 5000 |
각 port는 최대 8개의 TCP client를 지원하며, UART에서 수신된 data를 연결된 client로 broadcast할 수 있다. WebSocket과 raw TCP path는 동일한 serial port에서 함께 동작할 수 있다.
📌 System Architecture
공식 제품 사양은 Dock 3가 Wi-Fi와 100 Mbit Ethernet을 지원하고, 두 개의 3.5 mm port를 IR output 또는 RS232로 설정할 수 있다고 설명한다.
W5500 Ethernet Control Data Flow
Local Client
→ Ethernet Frame
→ W5500
→ SPI
→ ESP-IDF esp_eth Driver
→ esp_netif / lwIP
→ WebSocket, HTTP 또는 TCP Service
→ ESP32-S3 Application
→ IR 또는 RS232 Output
→ External DeviceDevice Feedback Data Flow
IR Learning / RS232 Input / Dock Status
→ ESP32-S3
→ WebSocket Event 또는 Raw TCP Data
→ lwIP / esp_netif
→ SPI
→ W5500
→ Ethernet
→ Local ClientOTA Data Flow
Remote 3 / Browser / HTTP Client
→ HTTP Firmware Upload
→ Wi-Fi 또는 Ethernet
→ ESP32-S3 HTTP Server
→ Firmware Signature Verification
→ OTA Partition
→ Reboot into Updated FirmwareDock 3는 update server를 주기적으로 확인해 firmware를 내려받는 구조가 아니다. Remote 또는 사용자가 firmware image를 Dock으로 upload하는 passive OTA 방식이며, production OTA image에는 signature verification이 적용된다.
📌 Role and Application of the WIZnet Chip
| 항목 | 내용 |
|---|---|
| WIZnet 모델명 | W5500 |
| 적용 Hardware Revision | Pre-production Rev 3 |
| MCU와의 연결 | ESP32-S3와 SPI 연결 |
| SPI Pins | MOSI GPIO11, SCLK GPIO12, MISO GPIO13, CS GPIO6, INT GPIO46 |
| Network 역할 | Rev 3 board에서 wired Ethernet frame interface 제공 |
| Driver 구조 | ESP-IDF esp_eth W5500 MAC·PHY driver |
| 상위 Protocol | WebSocket, HTTP, raw TCP 및 기타 lwIP 기반 service |
| MAC Address | ESP32-S3에서 파생한 Ethernet MAC address를 controller에 설정 |
| TOE 사용 여부 | WIZnet hardware socket API의 직접 사용은 확인되지 않음 |
W5500 Initialization
network_ethernet.c는 W5500이 선택된 경우 다음 instance를 생성한다.
eth_w5500_config_t w5500_config =
ETH_W5500_DEFAULT_CONFIG(CONFIG_UCD_ETH_SPI_HOST, &spi_devcfg);
esp_eth_mac_t *mac =
esp_eth_mac_new_w5500(&w5500_config, &mac_config);
esp_eth_phy_t *phy =
esp_eth_phy_new_w5500(&phy_config);그다음 esp_eth_driver_install()로 Ethernet driver를 설치하고, esp_read_mac(..., ESP_MAC_ETH)으로 ESP32-S3의 Ethernet MAC address를 읽어 ETH_CMD_S_MAC_ADDR command로 설정한다.
이 구조에서 W5500이 갖는 의미
W5500은 Rev 3에서 ESP32-S3에 wired Ethernet을 추가하는 SPI Ethernet controller 역할을 담당한다. SPI 기반이므로 ESP32-S3 application architecture를 크게 변경하지 않고 Ethernet path를 추가할 수 있으며, 상위 layer에서는 Wi-Fi와 동일한 lwIP 기반 service를 재사용할 수 있다.
그러나 이 firmware는 W5500의 internal TCP/UDP socket을 application에서 직접 제어하는 구조가 아니다. 공개 code에서는 WIZnet ioLibrary의 socket(), send(), recv() 계열 API를 찾을 수 없으며, ESP-IDF Ethernet driver가 frame interface를 제공하고 TCP/IP 처리는 lwIP에서 수행한다.
따라서 이 프로젝트에서 W5500의 핵심 역할은 TCP/IP Offload application processor가 아니라, ESP32-S3의 lwIP network stack과 연결되는 SPI Ethernet controller라고 설명하는 것이 정확하다.
Production Revision과의 구분
sdkconfig.rev3에는 다음과 같이 W5500 선택이 명시되어 있다.
Pre-production version
CONFIG_UCD_USE_KSZ8851SNL=n
CONFIG_UCD_USE_W5500=y반면 production Rev 4와 Rev 6 configuration은 hardware revision만 지정하고 Ethernet controller 선택을 override하지 않는다. Kconfig.projbuild의 기본값은 UCD_USE_KSZ8851SNL이며, board.c에서도 production board의 SPI CS를 KSZ8851SNL용으로 설명한다.
📌 Related Existing Contents & Expansion Value
1. Smart home IoT Hub using WizFi360-EVB-PICO
- Link: Smart home IoT Hub using WizFi360-EVB-PICO
- Similarity Point:
두 사례 모두 WIZnet network technology를 이용해 smart home device와 application을 연결한다. 기존 콘텐츠는 WizFi360-EVB-PICO를 중심으로 sensor와 actuator data를 Wi-Fi 및 MQTT를 통해 AWS EC2 broker와 Android application으로 전달한다. - Difference:
WizFi360-EVB-PICO project는 cloud MQTT와 wireless sensor network가 중심이다. Dock 3 firmware는 local WebSocket, Ethernet, IR 및 RS232 control이 중심이며, W5500 support는 pre-production Rev 3에 포함된다. - Connection Value:
두 콘텐츠를 함께 활용하면 cloud-oriented smart home hub와 local-first smart home controller의 차이를 설명할 수 있다. - Expansion Direction:
MQTT cloud control과 local WebSocket control을 비교하는 architecture guide 또는 hybrid smart home gateway example로 확장할 수 있다. - Expert Analysis:
Smart home project가 sensor monitoring에 머무르지 않고, IR와 RS232 기반의 기존 장비 control 영역으로 확장될 수 있음을 보여준다.
📌 Market & Application Value
Dock 3 firmware architecture는 다음과 같은 분야에 적용할 수 있다.
- Local smart home control
- Home theater 및 AV automation
- Hotel room automation
- Meeting room equipment control
- Digital signage 및 projector control
- RS232 기반 legacy device integration
- Ethernet 기반 IR blaster
- Local voice satellite 및 ESPHome application
- Wi-Fi 사용이 제한되는 고정 설치 환경
B2C 적용
B2C에서는 TV, audio receiver, air conditioner와 같은 IR device를 하나의 local controller로 통합하려는 smart home 사용자에게 적합하다.
B2B 적용
B2B에서는 RS232를 지원하는 projector, display, AV receiver와 control system을 연결해야 하는 AV integrator, hotel, conference room 및 commercial installation 분야에 적용할 수 있다.
📌 External Indicators
확인일: 2026년 7월 20일
| 지표 | 확인 결과 | 출처 |
|---|---|---|
| GitHub Stars | 13 | unfoldedcircle/ucd3-firmware |
| GitHub Forks | 2 | unfoldedcircle/ucd3-firmware |
| Open Issues | 4 | unfoldedcircle/ucd3-firmware |
| Commits | 128 | GitHub repository |
| Releases | 14 | GitHub repository |
| Latest Release | v0.10.5 | 2026-07-13 |
| License | GPL-3.0 | GitHub repository |
| YouTube Metrics | 현재 제공된 자료 기준으로 확인되지 않음 | — |
| External Community Metrics | 정량적으로 비교할 자료가 제한적 | — |
GitHub에는 v0.10.5가 최신 Release로 표시되어 있으며, 해당 version에서는 malformed authentication 처리, IR repeat 종료, IR timing, WebSocket client token 처리와 memory failure logging 등이 개선되었다.
Release 0.10.0에서는 embedded web management UI, static network configuration, PoE voltage mode, WebSocket log streaming, TCP/RS232 serial bridge와 WebSocket API가 추가되었다. 이는 firmware가 단순 hardware demonstration을 넘어 지속적으로 관리되는 product firmware임을 보여준다.
📌 WIZnet Strategic Value
Dock 3 firmware는 W5500이 최종 production revision에 유지된 사례는 아니지만, 제품 개발 과정에서 W5500을 SPI Ethernet controller option으로 실제 통합한 source-level reference를 제공한다.
특히 다음 부분은 WIZnet 개발 생태계에서 의미가 있다.
1. ESP-IDF Native Ethernet Driver Integration
W5500을 별도의 독립 network stack으로 구성하지 않고 ESP-IDF의 esp_eth와 esp_netif architecture에 연결했다. 이를 통해 Wi-Fi와 Ethernet이 동일한 lwIP application service를 사용할 수 있다.
2. Prototype에서 Production으로 이어지는 Controller Abstraction
W5500을 사용한 Rev 3와 다른 Ethernet controller를 사용하는 production revision이 동일 firmware repository에서 관리된다. 이는 Ethernet controller 변경에 대응할 수 있는 software abstraction의 중요성을 보여준다.
3. Smart Home Control Reference 확대
기존 Maker 콘텐츠가 sensor, MQTT, cloud monitoring에 집중되는 경우가 많다면, Dock 3는 다음 영역을 추가한다.
Ethernet
→ Local WebSocket / TCP
→ IR / RS232
→ Existing Consumer or AV Device이를 통해 WIZnet Ethernet application을 smart home sensor node뿐 아니라 local control endpoint와 legacy equipment integration 영역으로 확장할 수 있다.
📌 Summary
Unfolded Circle Dock 3는 ESP32-S3를 기반으로 Wi-Fi, Ethernet, WebSocket, IR, RS232와 OTA를 통합한 local smart home control device다. 공개 firmware는 W5500, KSZ8851SNL과 DM9051을 선택할 수 있는 공통 SPI Ethernet architecture를 제공하며, W5500은 pre-production Hardware Rev 3에서 실제로 선택된다.
W5500 path에서는 ESP32-S3와 SPI로 연결된 W5500이 Ethernet frame interface를 제공하고, ESP-IDF esp_eth, esp_netif와 lwIP를 거쳐 WebSocket, HTTP 및 raw TCP application으로 data가 전달된다. 개발자는 이 source에서 W5500 initialization, controller abstraction, hardware revision 관리, Wi-Fi/Ethernet 전환, local WebSocket API, TCP-to-RS232 bridge와 signed OTA 구조를 참고할 수 있다.
다만 production Rev 4와 Rev 6은 W5500이 아닌 KSZ8851SNL을 기본 Ethernet controller로 사용하며, W5500의 hardware TCP/IP socket 기능을 직접 사용하는 근거도 확인되지 않는다. 따라서 이 사례의 핵심 가치는 “W5500이 현재 양산 Dock 3에 탑재되었다”는 데 있지 않고, ESP32-S3 product firmware가 W5500을 포함한 여러 SPI Ethernet controller를 수용하도록 설계된 구현 구조에 있다.
📌 References
| Source | Link | Checked Date | Notes |
|---|---|---|---|
| Unfolded Circle Dock 3 | Official Product Page | 2026-07-20 | ESP32-S3, Wi-Fi, Bluetooth 5, Ethernet, PoE, IR, RS232 사양 |
| Dock 3 Firmware | ucd3-firmware | 2026-07-20 | 공식 open-source firmware, GPL-3.0 |
| W5500 Revision Configuration | sdkconfig.rev3 | 2026-07-20 | Rev 3 pre-production W5500 선택 |
| Production Rev 4 | sdkconfig.rev4 | 2026-07-20 | Production Hardware Rev 4 |
| Production Rev 6 | sdkconfig.rev6 | 2026-07-20 | Production Hardware Rev 6 |
| Ethernet Kconfig | components/network/Kconfig.projbuild | 2026-07-20 | W5500·KSZ8851SNL·DM9051 선택 및 SPI 설정 |
| Ethernet Driver | network_ethernet.c | 2026-07-20 | W5500 MAC·PHY 생성과 driver install |
| Board Revision Logic | board.c | 2026-07-20 | eFuse revision과 Ethernet CS mapping |
| Network Manager | network.cpp | 2026-07-20 | Wi-Fi·Ethernet event와 interface 관리 |
| WebSocket API | doc/websocket-api.md | 2026-07-20 | Port 80, JSON message, authentication, IR·RS232 command |
| Dock API Definition | core-api/dock-api | 2026-07-20 | AsyncAPI YAML definition |
| Serial Bridge | doc/serial-bridge.md | 2026-07-20 | TCP 4999·5000, multi-client RS232 bridge |
| OTA Documentation | doc/ota.md | 2026-07-20 | HTTP upload와 signed firmware image |
| Changelog | CHANGELOG.md | 2026-07-20 | v0.10.5 및 이전 Release 변경 사항 |
| Related Maker Content | Smart home IoT Hub using WizFi360-EVB-PICO | 2026-07-20 | Wi-Fi·MQTT smart home hub |
| Related Maker Content | Programmable IoT Edge ESP32 Ethernet IO Module | 2026-07-20 | ESP32 multi-interface Ethernet edge product |
📌 Key Questions & Clear Answers
1. Does the production Dock 3 use the W5500?
공개 firmware 기준으로 W5500은 pre-production Hardware Rev 3에서 선택된다. Production Rev 4와 Rev 6은 Kconfig 기본값과 board.c의 설명을 기준으로 KSZ8851SNL을 사용하므로, 모든 Dock 3 제품이 W5500을 사용한다고 표현해서는 안 된다.
2. What role does the W5500 play in this firmware?
W5500은 Rev 3에서 ESP32-S3와 SPI로 연결되는 Ethernet controller다. Ethernet frame을 ESP-IDF esp_eth driver로 전달하고, WebSocket, HTTP 및 TCP 처리는 ESP32-S3의 lwIP network stack과 application에서 수행한다.
3. Does this project use W5500 TCP/IP Offload sockets directly?
공개 source에서는 WIZnet ioLibrary 또는 W5500 hardware socket API를 직접 사용하는 code가 확인되지 않는다. 따라서 W5500의 hardwired TCP/IP socket 기능을 활용한 TOE application 사례로 분류하기보다, W5500을 SPI Ethernet MAC interface로 사용한 사례로 보는 것이 정확하다.
4. What can developers reuse from this project?
W5500 ESP-IDF initialization, Kconfig 기반 SPI 설정, controller abstraction, eFuse hardware revision detection, Wi-Fi/Ethernet state management, WebSocket IR control, TCP-to-RS232 bridge와 signed OTA 구조를 재사용할 수 있다.
5. What information is not publicly confirmed?
W5500이 적용된 Rev 3 board schematic, W5500 주변 magnetics와 protection circuit, Ethernet throughput 및 latency, PoE circuit, 양산 수량과 실제 deployment 규모는 공개 자료에서 확인되지 않는다.
📌 Developer Reuse Points
| Reusable Point | What Developers Can Learn | Source Evidence |
|---|---|---|
| Multi-controller Ethernet abstraction | W5500, KSZ8851SNL, DM9051을 하나의 공통 initialization 함수로 관리하는 방식 | components/network/src/network_ethernet.c |
| W5500 ESP-IDF initialization | ETH_W5500_DEFAULT_CONFIG()부터 driver install까지의 초기화 순서 | network_ethernet.c |
| SPI parameter management | GPIO, SPI host, clock, interrupt와 polling mode를 Kconfig로 관리하는 방법 | components/network/Kconfig.projbuild |
| Derived MAC address assignment | External SPI Ethernet controller에 ESP32-S3 Ethernet MAC을 설정하는 방법 | eth_init() |
| Hardware revision handling | eFuse에서 board revision을 읽고 CS pin과 peripheral mapping을 변경하는 방법 | components/preferences/board.c |
| Wi-Fi/Ethernet priority control | Ethernet link-up 시 Wi-Fi를 해제하고 fallback event를 관리하는 방법 | network.cpp, NetworkSm.cpp |
| Local WebSocket API | JSON request와 event를 이용해 IR 및 RS232 function을 제어하는 구조 | doc/websocket-api.md |
| TCP-to-UART bridge | TCP 4999·5000과 UART를 양방향으로 연결하는 task 기반 architecture | doc/serial-bridge.md |
| Signed OTA upload | Local HTTP upload와 signed firmware verification을 조합하는 방식 | doc/ota.md |
| Product revision build | 공통 sdkconfig.defaults와 revision별 configuration overlay를 사용하는 방식 | sdkconfig.rev3, sdkconfig.rev4, sdkconfig.rev6 |
1. Ethernet Controller 교체가 가능한 Software Layer
가장 재사용 가치가 높은 부분은 specific controller code와 상위 application을 분리한 구조다.
W5500 / KSZ8851SNL / DM9051
→ Common ESP-IDF Ethernet Handle
→ esp_netif
→ lwIP
→ WebSocket / HTTP / TCP Application이 구조에서는 Ethernet controller가 변경되어도 application protocol과 peripheral control logic을 대부분 유지할 수 있다.
2. Hardware Revision을 Build Option에만 의존하지 않는 방식
Firmware는 build target뿐 아니라 eFuse에 기록된 실제 hardware revision을 읽는다. 이후 revision에 따라 Ethernet CS, charging current measurement, IR output과 PoE 관련 GPIO를 변경한다.
이는 동일 firmware 계열을 여러 PCB revision에 배포해야 하는 제품에서 참고할 수 있는 pattern이다.
3. Network와 Peripheral을 연결하는 Local-first Architecture
Dock 3는 cloud broker를 필수로 요구하지 않는다. Local WebSocket, HTTP와 TCP service를 통해 network command를 IR 또는 RS232 output으로 변환한다.
Local Network Command
→ ESP32-S3
→ IR / RS232
→ Existing Device이 방식은 기존 AV 장비나 legacy serial device를 smart home network에 연결하는 project에 적용할 수 있다.
📌 Limitations & Verification Notes
- W5500은 pre-production Rev 3에서 확인된다.
Production Rev 4·Rev 6의 기본 Ethernet controller는 KSZ8851SNL이다. - 제품 페이지에는 Ethernet controller 모델이 표시되지 않는다.
W5500 적용 여부는 GitHub configuration과 source code를 통해 확인해야 한다. - W5500 TOE 기능의 직접 활용은 확인되지 않는다.
Firmware는 ESP-IDFesp_eth와 lwIP를 사용하며 WIZnet ioLibrary socket API는 확인되지 않는다. - WebSocket은 encrypted
wss를 지원하지 않는다.
공개 문서는 port 80의ws와 token authentication을 명시한다. Local network isolation과 access control이 중요하다. - PoE와 Ethernet controller는 별도의 기능이다.
제품은 PoE 802.3af를 지원하지만, PoE controller와 power circuit 정보는 공개 source에서 확인되지 않는다. W5500 자체가 PoE power를 처리하는 것은 아니다. - Home Assistant는 별도의 ESPHome firmware 경로다.
공식 제품 페이지는 USB-C를 통한 ESPHome custom firmware 적용을 안내하지만, 모든 Dock hardware 기능을 동시에 사용할 수 있는 것은 아니라고 설명한다. - Ethernet 성능 수치는 공개되지 않았다.
W5500 configuration, SPI clock과 protocol structure는 확인되지만 throughput, latency, packet loss 및 Wi-Fi 대비 성능 측정 결과는 확인되지 않는다. - Rev 3는 내부 시험용 pre-production board다.
W5500 사용을 현재 판매되는 모든 Dock 3의 hardware specification으로 확대 해석해서는 안 된다.
📌 Key Technical Facts from the Original Source
Source
| 항목 | 내용 | 출처 |
|---|---|---|
| Project / Product | Unfolded Circle Dock 3 및 ucd3-firmware | 공식 제품 페이지, GitHub README |
| WIZnet Chip/Module | W5500 | sdkconfig.rev3, network_ethernet.c |
| W5500 적용 범위 | Pre-production Hardware Rev 3의 SPI Ethernet controller | sdkconfig.rev3 |
| Production Ethernet Controller | Rev 4·Rev 6 firmware의 기본 선택은 KSZ8851SNL | Kconfig.projbuild, board.c |
| MCU/Board | Espressif ESP32-S3 기반 Dock 3 | 공식 사양, GitHub README |
| Interface | ESP32-S3 ↔ SPI Ethernet controller: SPI Mode 0 + interrupt GPIO | network_ethernet.c, Kconfig.projbuild |
| Default SPI Configuration | SPI host 1, SCLK GPIO12, MOSI GPIO11, MISO GPIO13, 25 MHz, interrupt GPIO46 | Kconfig.projbuild, README pinout |
| Chip Select | Rev 3·Rev 4 GPIO6, Rev 6 GPIO14 | board.c, README pinout |
| Ethernet Framework | ESP-IDF esp_eth driver + esp_netif + lwIP | network_ethernet.c, network.cpp |
| W5500 Initialization | ETH_W5500_DEFAULT_CONFIG(), esp_eth_mac_new_w5500(), esp_eth_phy_new_w5500() | network_ethernet.c |
| Main Application Protocols | WebSocket JSON API, HTTP OTA, raw TCP serial bridge, Wi-Fi provisioning | API 및 firmware documentation |
| WebSocket Configuration | TCP port 80, ws, JSON text message, token authentication | doc/websocket-api.md |
| RS232 TCP Ports | Port 1: TCP 4999, Port 2: TCP 5000 | doc/serial-bridge.md |
| Peripheral Functions | Internal IR blaster, IR learning, two configurable IR/RS232 ports, OLED, microphone, speaker, programmable button | 공식 제품 페이지 |
| Hybrid Network | Wi-Fi와 Ethernet을 모두 지원하고 Ethernet 연결 시 Wi-Fi를 해제하는 network logic 포함 | 공식 사양, network.cpp |
| TOE Evidence | WIZnet ioLibrary 또는 W5500 hardware socket API를 직접 사용하는 코드는 확인되지 않음 | 공개 source 검토 결과 |
| Latest Release | v0.10.5, 2026년 7월 13일 | GitHub Releases 및 CHANGELOG.md |
| Confirmed Limitations | W5500은 양산 Rev 4·Rev 6의 기본 controller가 아니며, Ethernet 성능 benchmark와 회로도는 공개되지 않음 | 공개 source 검토 결과 |
W5500 선택과 초기화는 source code에서 명확하게 확인된다. CONFIG_UCD_USE_W5500이 활성화되면 firmware는 W5500 configuration을 생성하고 ESP-IDF Ethernet MAC·PHY instance를 설치한다.

