Esp32-Poe-HA-Speaker
ESP32 PoE Home Assistant Speaker
0
Project description
How to Design a PoE Home Assistant Ceiling Speaker with W5500 on ESP32-S3?

1. Summary
The ESP32 PoE Home Assistant Speaker, developed by GitHub user 74kumi, is a custom hardware project designed to convert conventional ceiling speakers into Ethernet-connected audio and voice-assistant devices. The system combines an ESP32-S3 microcontroller, WIZnet W5500 Ethernet controller, Power over Ethernet (PoE) circuitry, PCM5122 DAC, and TPA3116D2 amplifier.
The W5500 provides the wired Ethernet interface for planned Home Assistant communication and network audio services. A future extension would add a modular microphone array behind the existing ceiling-speaker grille.
The project currently consists of a completed Rev E PCB design and a prepared Rev F manufacturing package. No physical prototype has been fabricated or electrically validated, and the audio firmware and Home Assistant integration remain incomplete.
2. What the Project Does
About the Creator: Who Is 74kumi?

The project was created by Tim S., who uses the GitHub username 74kumi.
According to his GitHub profile, Tim works as an IT administrator and enjoys experimenting with amateur radio, artificial intelligence, Home Assistant, electronics, and cars.
He does not identify himself as a professional hardware engineer. In the repository README, he explains that the project was developed extensively using AI-assisted design, CAD scripting, and engineering review tools.
He has also shared the design with the Home Assistant community to request feedback from experienced hardware engineers before manufacturing the first prototype.
Location: His publicly available GitHub profile does not specify his country of residence, nationality, or employer's location.
Other GitHub Repositories
Tim's GitHub account contains five public repositories, including the ESP32 PoE Speaker project.
| Repository | Description |
|---|---|
| hamradiowebcontrol | ChaosComms, a project intended to control amateur radio equipment through a web interface using a Raspberry Pi, Hamlib, WebRTC, and a progressive web application. |
| sensor.unifigateway | A fork of a Home Assistant integration for monitoring UniFi Security Gateway status. |
| frigate-hass-addons | A fork of Frigate Home Assistant add-ons for IP camera object detection. |
| gpio-temp | A public repository without substantive source code currently available. |
These repositories indicate a recurring interest in local networking, home automation, remote device control, and hardware-software integration.
The amateur radio control project is particularly relevant because it also involves connecting physical equipment to a locally managed network interface.
What Problem Does the Speaker Project Solve?
Conventional passive ceiling speakers usually require separate amplifier hardware and dedicated speaker cabling.
This project explores an alternative architecture in which a compact network audio controller is installed near the existing ceiling speaker.
The controller would receive audio and control commands through Ethernet, process audio on the ESP32-S3, convert the digital stream into an analog signal, and drive the existing speaker through an onboard amplifier.
PoE is intended to provide both network connectivity and electrical power through a single Ethernet cable.
The design also reserves an expansion interface for a future microphone ring, allowing the same installation to serve as a Home Assistant voice-assistant endpoint.

Main Hardware Components
| Component | Function |
|---|---|
| ESP32-S3 | Main microcontroller for audio and device control |
| WIZnet W5500 | SPI-based 10/100 Mbps Ethernet interface |
| PoE power circuitry | Receives and converts power supplied over Ethernet |
| PCM5122 | Converts digital audio into analog audio |
| TPA3116D2 | Amplifies the analog signal to drive a passive speaker |
| Existing ceiling speaker | Final audio output device |
| Planned PDM microphone ring | Future voice-input interface |
The amplifier is designed around a target output of approximately 30 W into a 4 Ω load, subject to physical testing.
The proposed microphone ring uses a modular design that can fit behind a ceiling-speaker grille. The initial concept targets eight microphones, with a reserved J4 connector on the main PCB.
System Architecture
The intended audio path is:
Home Assistant / Audio Server
|
Ethernet Network
|
WIZnet W5500
|
SPI Bus
|
ESP32-S3
|
Digital Audio Bus
|
PCM5122 DAC
|
TPA3116D2
|
Existing Ceiling SpeakerA separate power path delivers PoE power from the Ethernet connector to the board's voltage-conversion and protection circuitry.
The key architectural distinction is that the W5500 handles Ethernet connectivity, while the ESP32-S3 and dedicated audio components manage playback and device control.
3. Where WIZnet Fits
Evidence of W5500 Usage
The repository provides direct documentary evidence that the W5500 is included in the hardware design.
The README identifies the intended configuration as:
ESP32-S3 controller
wired Ethernet using W5500
PoE-powered operation with bench-power support for developmentMore importantly, the repository contains an Ethernet engineering document at:
hardware/PoE-Speaker/RevE/engineering/ETHERNET-STACKUP.md
This document identifies:
U3: WIZnet W5500 Ethernet controller
J1: Bel Ethernet MagJack connector
The documented Ethernet signal mapping is:
| Ethernet signal | W5500 U3 pin | MagJack J1 PCB pin |
|---|---|---|
| TX+ | 2 | 11 |
| TX− | 1 | 10 |
| RX+ | 6 | 4 |
| RX− | 5 | 5 |
The developer compared the W5500 datasheet with the Bel MagJack drawing to establish the pin assignments.
The repository also documents the use of audit_ethernet_pinmap.py, a script that checks PCB and schematic pin assignments against an exported KiCad netlist.
This establishes that W5500 was incorporated into the electrical design rather than merely mentioned as a possible networking option.
However, the script checks logical connectivity, not Ethernet signal integrity or successful physical operation.
Is the Ethernet Component W5500 or WIZ-IP55?
A potential source of confusion is the appearance of the Ethernet hardware in the project's older 3D rendering.
WIZnet also manufactures WIZ-IP55, an integrated Ethernet module containing a W5500 chip and an RJ45 connector with built-in magnetics.
Therefore, WIZ-IP55 and W5500 are not mutually exclusive product technologies: WIZ-IP55 contains a W5500.
Nevertheless, the current project's engineering documentation describes W5500 U3 and MagJack J1 as separate components.
This supports a discrete W5500-plus-MagJack implementation rather than demonstrating that a WIZ-IP55 module is used.
The exact marking visible in the historical 3D rendering has not been independently established. The current KiCad source is the authoritative design reference.
Why Use W5500?
The W5500 is technically relevant to this project for three reasons.
Wired connectivity for fixed installations
Ceiling speakers remain in fixed locations. Unlike portable speakers, they generally have no mobility requirement.
A wired Ethernet connection can avoid wireless signal-quality variations caused by interference, building materials, and access-point placement.
SPI connectivity with ESP32-S3
The W5500 uses SPI to communicate with the ESP32-S3.
This allows Ethernet to be added without requiring an RMII Ethernet MAC interface on the microcontroller.
Integration with PoE infrastructure
Ethernet and PoE allow networking and power delivery through the same cable.
The W5500 itself does not implement PoE power conversion. A separate PoE power stage is required.
Hardware TCP/IP Offloading Considerations
The W5500 contains a hardware TCP/IP engine, 32 KB of internal packet-buffer memory, and support for eight hardware sockets.
These capabilities can reduce MCU involvement in TCP/IP processing when the application uses the W5500's hardware socket interface.
However, an important distinction applies to ESP32 implementations.
When W5500 is used through a conventional ESP-IDF Ethernet driver with LwIP, TCP/IP processing is typically performed by the ESP32 software stack rather than by the W5500 hardware TCP/IP engine.
Because this project's networking firmware has not been completed, there is no evidence that hardware TCP/IP offloading has been implemented or benchmarked.
4. Implementation Notes
Available Design Files
The project provides editable KiCad files for inspecting the W5500 circuit and the rest of the hardware.
| Design material | Source |
|---|---|
| Rev E schematic | PoE-Speaker-RevE.kicad_sch |
| Rev E PCB layout | PoE-Speaker-RevE.kicad_pcb |
| KiCad project | PoE-Speaker-RevE.kicad_pro |
| Ethernet review | ETHERNET-STACKUP.md |
The developer recommends opening the design using KiCad 10 while retaining the project's local symbol libraries, footprint libraries, and design-rule files.
Network Validation Plan
The repository includes PROTOTYPE-VALIDATION.md, which specifies the intended network bring-up tests.
The relevant items include:
W5500 SPI communication.
Ethernet PHY/link indication.
DHCP and static-IP operation if supported by the test firmware.These checks are intended to establish whether the ESP32 can communicate with the W5500, whether the physical Ethernet link operates correctly, and whether the device can acquire or use an IP address.
The document also calls for sustained network-traffic testing to detect packet loss or unexpected link renegotiation.
These entries are test plans, not completed measurements.
Current Development Status
| Item | Status |
|---|---|
| Rev E schematic and PCB | Finalized electrical CAD design |
| Rev F manufacturing package | Prepared |
| ERC/DRC | Clean under saved project rules |
| Ethernet layout | Defined, with manufacturing and signal-integrity review remaining |
| PoE and amplifier testing | Not physically performed |
| Home Assistant firmware | Incomplete |
| Microphone-array PCB | Planned |
| Physical prototype | Not yet fabricated |
The project is therefore more useful as a hardware engineering reference than as a reproducible smart-speaker construction tutorial.
5. Practical Tips / Pitfalls
Ethernet signal integrity: Review the W5500-to-MagJack TX/RX differential pairs, reference-plane continuity, routing geometry, termination, ESD components, and isolation requirements.
PoE power budget: The approximately 30 W speaker-output target must be evaluated against amplifier efficiency, peak current, regulator losses, and the selected PoE power class.
SPI communication: Validate clocking, chip select, reset behavior, and communications with W5500 before attempting Home Assistant networking.
DHCP and static IP: Establish reliable Ethernet-link operation and IP configuration before adding continuous audio traffic.
Audio noise and grounding: Evaluate interference between switching regulators, Ethernet circuitry, DAC grounding, and the amplifier output stage.
Controlled first power-up: Begin with an isolated, current-limited laboratory power supply and test the power rails before applying PoE power.
6. FAQ
Q1. Why is W5500 suitable for this ESP32-S3 PoE speaker?
W5500 provides an SPI-connected wired Ethernet interface that fits the fixed-installation requirements of a ceiling speaker.
It separates the Ethernet hardware from the main microcontroller and can operate alongside a dedicated PoE power-conversion stage.
Its built-in hardware TCP/IP capability is also available for software architectures that explicitly use the W5500 socket interface, although such usage has not been demonstrated in this project.
Q2. How does W5500 connect to the ESP32-S3?
W5500 uses SPI signals including SCLK, MOSI, MISO, and CS, along with appropriate reset and optional interrupt connections.
On the Ethernet side, its TX/RX differential pairs connect to the MagJack circuitry. The project's engineering documentation identifies W5500 as U3 and MagJack as J1.
The ESP32 GPIO assignments should be checked against the current Rev E schematic and netlist.
Q3. What does W5500 actually do in this speaker project?
W5500 is the planned wired network interface connecting the ESP32-S3 to Home Assistant and network audio services.
It is intended to carry audio data, application commands, and device communications over the local Ethernet network.
It does not decode audio, amplify the speaker signal, or convert PoE power.
Q4. Can beginners reproduce this project?
The design is not yet a beginner-oriented construction guide.
Reproducing it requires familiarity with KiCad, ESP32 development, SPI, Ethernet physical-layer design, PoE power conversion, and audio amplifier testing.
Since the original board has not been physically validated, builders would also need to conduct independent electrical and thermal testing.
Q5. How does W5500 Ethernet compare with Wi-Fi or ESP32 LwIP networking?
Wi-Fi avoids the need for Ethernet cabling but is affected by wireless signal conditions.
W5500 Ethernet provides a dedicated wired link, which may be preferable for permanently installed ceiling speakers.
However, using W5500 does not automatically eliminate software TCP/IP processing. With an LwIP-based driver, the ESP32 continues to execute the TCP/IP stack. A hardware-offload implementation requires the appropriate driver and socket API.
7. Comparison with Similar WIZnet UCC Projects
Several projects published on WIZnet Makers combine ESP32-S3 hardware, W5500 Ethernet, Home Assistant, and network audio functionality.
The following three are particularly relevant.
7.1 MultiSensor-V2 — W5500 PoE for Home Assistant Voice
Reference: How Does MultiSensor-V2 Use W5500 PoE for HA Voice?
MultiSensor-V2 is an ESP32-S3-based room monitoring and voice-assistant platform.
It combines W5500 Ethernet, PoE, environmental sensors, presence detection, microphones, and a speaker output.
The design also includes ESPHome firmware and local microWakeWord functionality.
Difference from the 74kumi project:
MultiSensor-V2 is primarily a sensor and voice-assistant endpoint, with audio output serving the voice interaction system.
The 74kumi design focuses on repurposing existing ceiling speakers and includes a separate PCM5122 DAC and TPA3116D2 power amplifier intended for higher-power playback.
MultiSensor-V2 has published firmware and a more developed voice-processing configuration, whereas 74kumi's project remains focused on PCB engineering and prototype preparation.
7.2 LamePod — ESP32-S3 Smart Speaker with W5500
Reference: LamePod
LamePod is a privacy-oriented DIY smart-speaker concept combining:
ESP32-S3
W5500 Ethernet add-on
TAS5805M audio hardware
ReSpeaker XVF3800 microphone array
ESPHome and Home Assistant
3D-printed enclosure
Difference from the 74kumi project:
LamePod is designed as a self-contained smart speaker with its own enclosure, audio driver, and microphone hardware.
In contrast, 74kumi intends to reuse existing ceiling speakers and conceal the optional microphone array behind the original speaker grille.
LamePod builds on existing audio-development hardware, while 74kumi designs a custom PCB integrating Ethernet, PoE power circuitry, DAC, and amplifier.
Both projects remain unproven as complete physical smart-speaker systems.
7.3 louder-esphome-sendspin — Ethernet Network Audio
Reference: louder-esphome-sendspin
This project uses an ESP32-S3-based Sonocotta audio platform with ESPHome and Sendspin for synchronized network playback.
Its design includes TAS5805M audio processing, speaker amplification, metadata display, and optional room correction.
W5500 Ethernet is documented as a supported or recommended wired networking option.
Difference from the 74kumi project:
louder-esphome-sendspin concentrates on audio firmware, streaming, DSP configuration, and Home Assistant integration using an existing audio board.
The 74kumi project concentrates on developing a purpose-built ceiling-speaker controller with dedicated PoE power and custom analog audio circuitry.
In other words, louder-esphome-sendspin provides a closer reference for the planned software audio path, while 74kumi provides more extensive documentation of custom Ethernet PCB development.
Comparison Overview
| Feature | 74kumi PoE Speaker | MultiSensor-V2 | LamePod | louder-esphome-sendspin |
|---|---|---|---|---|
| Main MCU | ESP32-S3 | ESP32-S3 | ESP32-S3 | ESP32-S3 |
| W5500 | Included in PCB design | Implemented | Planned/configured | Supported option |
| PoE | Core design feature | Supported | Not part of current power arrangement | USB-C PD |
| Audio hardware | PCM5122 + TPA3116D2 | MAX98357A | TAS5805M | TAS5805M |
| Primary application | Ceiling-speaker retrofit | Sensors and voice assistant | Standalone smart speaker | Multiroom network audio |
| Main emphasis | Custom PCB hardware | Sensor and voice firmware | Complete speaker concept | Audio firmware and DSP |
| Development status | Manufacturing files prepared; untested | Beta hardware and firmware | Early-stage concept | Active firmware implementation |
What Makes the 74kumi Project Distinct?
The main difference is its emphasis on custom PoE ceiling-speaker hardware and the engineering process behind the Ethernet interface.
Many ESP32 Ethernet projects begin with an existing W5500 module and focus on software configuration.
The 74kumi repository documents the physical W5500 connection, MagJack pin assignments, differential-pair routing, ESD and termination considerations, PCB stack-up assumptions, and manufacturing preparation.
This makes it useful for studying how W5500 can be incorporated directly into a custom PCB rather than added as a separate SPI Ethernet module.
The project also demonstrates the challenges of combining Ethernet, PoE power conversion, and an audio amplifier on the same board.
A supplementary reference for the firmware stage is Getting Started with WSM-ESPHome, which explains W5500 networking approaches, including LwIP and hardware TCP/IP offloading. That software has not been established as part of 74kumi's implementation.
8. Source
Original project: 74kumi/Esp32-Poe-HA-Speaker
Creator: Tim S. / 74kumi
Community discussion: ESP32-S3 PoE Ceiling Speaker and Modular Mic Ring
Technical documentation:
License: The original hardware design materials are published under a source-available, noncommercial hardware license.
Personal, educational, research, and other noncommercial uses are permitted under the stated conditions. Commercial manufacturing, sales, OEM use, and paid integration require a separate written agreement with the copyright holder.
The license is not an OSI-approved open-source software license or an OSHWA open-hardware license. Software, scripts, and third-party materials may have separate licensing terms.
9. Tags
#W5500 #WIZnet #ESP32S3 #PoE #HomeAssistant #Ethernet #SmartSpeaker #NetworkAudio #KiCad #HardwareDesign
