Back to Stream Daddy

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~$25

    UeeKKoo 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~$25

    Waveshare 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~$8

    PCM1808 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~$8

    Phono 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~$25

    Taidacent 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.)
Full build instructions on GitHub