Skip to content

SoundConvert: Building a Bidirectional USB Audio-over-Ethernet Bridge with W5500-EVB-Pico2

Streaming USB PCM audio over a LAN using W5500 hardwired TCP/IP — not converting or transferring audio files

lawrence

Published October 26, 2026

Original author: XingYu-999Original source (new tab)

SoundConvert: Building a Bidirectional USB Audio-over-Ethernet Bridge with W5500-EVB-Pico2

Components

Hardware components Software Apps and online services

x 1


Project description

1. Project Overview

SoundConvert turns a W5500-EVB-Pico2 into a USB Audio Class 1.0 (UAC1) sound card. A compatible USB host sends its audio to the board, which forwards it over wired Ethernet to a Windows PC for playback through the selected speakers or headphones. Audio can also travel in the opposite direction: the Windows microphone is streamed back to the USB host as a virtual microphone input.

This is an audio streaming bridge, not a file converter. The board does not receive MP3 or WAV files to decode. Instead, it receives the continuous PCM audio stream produced by the host's audio system and transports the samples over the LAN.

Actual W5500-EVB-Pico2 board used by the project

Hardware: W5500-EVB-Pico2 combines the RP2350 MCU and W5500 hardware TCP/IP controller.

2. What Does USB Actually Carry: Files or Streaming Audio?

Consider a USB host playing a music file or game audio. Its operating system or player decodes the content into PCM samples before the USB transmission.

USB host (PC / compatible phone / gaming device)
  MP3 / WAV / FLAC file, or live game and application sound
    ↓ Decoded by the host audio system
  PCM samples
    ↓ USB Audio Class 1.0: continuous audio streaming, not file transfer
W5500-EVB-Pico2 / RP2350
  Core 0: TinyUSB receives PCM → bounded audio queue
  Core 1: packetization / optional ADPCM / optional FEC
    ↓ SPI
  W5500 hardware UDP/IP sockets
    ↓ Wired Ethernet / LAN
Windows SoundConvert Audio Engine
  UDP reception → jitter buffer → optional decoding / resampling
    ↓ WASAPI
  Windows speaker or headphones

The USB link does not carry a music file, its filename, album artwork, or track metadata. It carries PCM samples continuously. For example, 48 kHz / 16-bit stereo PCM produces 192 bytes per millisecond, or 1.536 Mbit/s of audio payload before packet and network overhead.

The reverse audio path is Windows microphone → Windows Engine → UDP/Ethernet → W5500/RP2350 → USB UAC1 microphone endpoint → USB host. Microphone streaming is enabled manually and has its own UDP session and queue, separate from playback.

One distinct operation does involve USB file transfer: firmware installation. The Windows flashing utility copies a .uf2 firmware image to the RP2350 BOOTSEL drive. That is not part of the audio transport path.

3. Is W5500 Hardware TCP/IP / TOE Actually Used?

Yes. The board firmware uses WIZnet ioLibrary and the W5500's hardware TCP/UDP sockets. Control and audio traffic have different roles:

PathProtocolPurpose
Device managementTCP, fixed port 49161Configuration, control connection, and status
Discovery / recoveryUDP, fixed port 49160Broadcast discovery and IP recovery
USB host → WindowsUDP, negotiated audio portsForward PCM or optionally ADPCM audio
Windows → USB hostUDP, separate session and portSend microphone audio in the reverse direction

The TCP control connection is processed by the W5500 hardwired TCP/IP engine, while the audio streams use the W5500's hardware UDP/IP sockets. Audio is not transported over TCP. The RP2350 handles USB, queues and audio encoding; the W5500 handles Ethernet and the TCP/UDP networking functions. This differs from treating a W5500 solely as an Ethernet interface behind an MCU's lwIP stack.

4. Main Software Features

4.1 Virtual USB Sound Card and Device Configuration

The USB host recognizes the board as a UAC1-compatible audio device. The Windows client discovers devices, manages DHCP or static IPv4, configures USB device types and supported audio formats, and monitors board state. The USB source host and the Windows playback PC can be different machines; compatibility still depends on the particular USB host.

USB virtual sound-card page — discovery, IP, connection and USB configuration

4.2 Bidirectional Audio and HID Media Controls

  • Playback: USB host stereo PCM arrives at the Windows application over UDP; optional IMA ADPCM encoding is available.
  • Reverse microphone: a selected Windows recording device is forwarded as a mono USB microphone stream through a separate UDP path.
  • USB HID: play/pause, previous/next track, volume and mute commands, subject to host/player compatibility.
  • Output processing: Windows device selection, gain, balance, EQ and limiter settings.

4.3 Buffers, Drift Monitoring and Packet-Loss Recovery

The Windows engine provides playback buffering, resampling and clock-drift diagnostics. It includes 20/40/80 ms buffer presets and advanced adjustments. These are buffer settings, not verified end-to-end audio latency measurements.

PCM is the default transport format. Optional IMA ADPCM provides lossy compression. An optional XOR4 FEC scheme adds one parity packet for every four audio packets in the playback direction, allowing recovery of a single lost packet within that group under the appropriate conditions; it is not a guarantee against all network loss.

Playback controls with buffer and drift trend diagnostics

4.4 RP2350 Dual-Core Separation and Windows Audio Engine

RP2350 Core 0 operates TinyUSB and UAC1 processing; Core 1 handles the W5500 network tasks. Bounded queues pass audio data between the two cores. The PC software also separates the Avalonia user interface from a dedicated Windows Audio Engine using WASAPI, networking, buffering and control routines.

4.5 USB Firmware Update and Board Power Snapshot

A separate Windows utility copies a UF2 firmware image to the RP2350's BOOTSEL USB drive. This is not an Ethernet OTA update feature.

RP2350 BOOTSEL/UF2 flashing utility

The README also includes a USB power meter photo showing approximately 4.88 V, 0.15 A and 0.72 W at that moment. This is an illustrative snapshot, not a measured long-term average or maximum.

Power measurement photo from the original README

5. Potential Applications and Industries

Potential applicationExample usageAdditional validation required
USB audio extension and remote monitoringListen to a USB host from another Windows PC on the LANEnd-to-end latency, packet loss and routing
Gaming and multimediaMonitor compatible console/USB audio through a separate PCHost UAC1 compatibility and perceptible delay
Kiosks and digital signageTransport audio alerts or announcements to an operator PCRecovery behavior and unattended operation
Industrial monitoring PoCsCarry audio output or alert sounds from equipment into the LANEMC, isolation, reliability and extended testing
Device testing and automationTest USB audio hosts and network-audio pipelinesQuantified timing and dropout tests
Education and researchStudy TinyUSB, dual-core queuing and W5500 UDP streamingReproducibility of hardware/software setup

These are plausible application scenarios, not documented commercial deployments or certified industrial products. The current system targets Windows playback; it is not a complete standalone speaker or PoE appliance.

6. Comparison with Two Existing WIZnet Maker Projects

Two audio-oriented projects already available on WIZnet Maker help show the distinction between an audio bridge, a network speaker, and an Ethernet-powered amplifier.

FeatureSoundConvertW55RP20 Network SpeakerSqueezeAMP PoE
Primary roleUSB audio ↔ Ethernet ↔ Windows bridgePC audio → wired speakerPoE++ wired-network speaker amplifier
HardwareRP2350 + W5500-EVB-Pico2W55RP20 (RP2040 + W5500 SiP)ESP32 + W5500
Audio inputUSB UAC1 PCM; reverse Windows micPC-side audio (WAV, TTS and other sources)Network audio stream
OutputWindows speaker/headphone and reverse USB micI2S → external audio amplifierTAS5756 amplifier → speakers
NetworkUDP audio (both ways), TCP controlTCP PCM receiver in the linked C/C++ SDK demosqueezelite-esp32 network path
Hardware TCP/IP offloadYes: direct W5500 TCP and UDP socketsYes: W5500 hardwired TCP/IP in the relevant SDK implementationNo: ESP32 lwIP handles TCP/IP
Main distinctionConnects a USB sound card to a separate Windows audio systemPlays received audio on its own speakerIntegrates PoE++ power and audio amplification

Related Project 1: W55RP20 Network Speaker
This project demonstrates a W55RP20 network speaker using the Pico C/C++ SDK. The linked demo receives stereo 16-bit PCM over a TCP server and plays audio through I2S; the article also discusses WAV, TTS and YouTube audio sources. A separate PoE/UDP development article presents W5500 hardware-offload and UDP optimization results for related implementations. Performance results should not be assumed identical across these versions.

Related Project 2: SqueezeAMP PoE
This project combines ESP32, W5500, PoE++ and a TAS5756 audio amplifier. It explicitly uses the W5500 as a wired Ethernet interface while ESP32/lwIP provides the TCP/IP stack. Thus it is a useful W5500 network-audio example but not an example of the W5500 hardware socket offload in use.

The key differentiator of SoundConvert is that it bridges a USB virtual sound card to Ethernet and provides a reverse audio channel and a complete Windows management interface, rather than directly driving an onboard speaker.

Documents

Comments

Similar projects you might like

Comments