Build your own Stream Daddy
Stream Daddy is open hardware. Buy one from us if you'd rather have something that just works out of the box, or build your own from off-the-shelf dev boards using the guide below; nothing here is locked away.
Stream Daddy's firmware began life as an open ESPHome component running on off-the-shelf dev boards. You can build the same thing yourself with a handful of parts. No custom PCB required, but you'll have to do some soldering and wiring.
Parts list
ESP32-P4 board - pick one
No current ESP32-P4 dev board does Ethernet and WiFi at the same time. (Stream Daddy's own PCB works around that by pairing the P4 with an onboard ESP32-C6 for WiFi while also wiring Ethernet natively, so it does both out of the box. Building it yourself means picking whichever connectivity your install actually needs.)
Ethernet + PoE~$25UeeKKoo ESP32-P4 PoE Ethernet AI Dev Board (ESP32-P4-POE-ETH)
Native RMII Ethernet MAC with onboard PoE module - power + data over one cable.
OR
WiFi 6~$25Waveshare ESP32-P4-WIFI6 High-Performance Development Board (Pre-soldered)
Pairs the P4 with an onboard ESP32-C6 for WiFi 6 + Bluetooth 5.
Audio input - pick one
A bare ADC module paired with separate RCA jacks, or an all-in-one module with a built-in 3.5mm input.
ADC module~$8PCM1808 24-bit Stereo ADC Module
Replaces the WM8782 board from the original write-up, which has since been discontinued. Has no onboard jacks -- used together with the RCA jacks part below. Pin silkscreen labels can vary slightly by seller batch; match LRCK/BCK/DOUT/SCKI (or equivalent) markings on your specific board before wiring.
RCA input jacks~$8Phono RCA Male/Female Plug to AV Screw Terminal Adapter (pack of 10)
You only need 2 (left + right channel) - these screw-terminal style jacks make it the easiest to wire up to the PCM1808 module's bare analog input pads, but soldering is required on the board-side.
used together
OR
All-in-one ADC module~$25Taidacent PCM1808/PCM1802 3.5mm Audio Stereo ADC Module
Built-in 3.5mm TRS input instead of bare pads - skips the separate RCA jacks, at a higher cost per unit. Runs as I2S master (outputs its own MCLK/BCK/LRCK) rather than slave, so set the linein_stream component's i2s_mode to slave instead of master, and wire the ESP32's I2S pins as clock inputs instead of outputs.
- I2S DAC module~$20
Zopsc PCM5102A DAC Decoder Board
Required, not optional - Stream Daddy's line-out pass-through is a core feature, not an add-on.
Total cost ~$60 - $70
Line-in capture - PCM1808 ADC module + RCA jacks to ESP32
- LRCLK
- GPIO2LRCK
- DATA
- GPIO4DOUT
- BCLK
- GPIO3BCK
- SCKI (system clock)
- GPIO5SCKI
- Power
- 3V3/5V/GNDdigital/analog VCC/GND (per module silkscreen)
- Analog L/R in
- RCA jacksmodule's LIN/RIN pads
Line-out - ESP32 to PCM5102A DAC module
- BCLK
- GPIO14BCK
- DATA
- GPIO15DIN
- LRCLK
- GPIO6LCK
- Power
- 5V/GNDVIN/GND
Notes
- Feeding the ADC's system clock from the ESP32 keeps all I2S clocks in one domain, mixing two independent clock sources causes an audible periodic sample slip. (Doesn't apply if you use the all-in-one audio input module, which supplies its own clocks instead.)