StreamDream is fully open. The firmware, the hub app, the schematics — all of it is on GitHub, free to use, modify, and build on. Most people will just buy the plug-and-play puck. But if you want to go deep, everything you need is right here.
Every other multi-room audio company locks you in. Proprietary hardware, closed firmware, walled gardens. We think that's backwards. Audio is for everyone. So is the code that powers it.
The code is yours. Fork it, modify it, run it on your own hardware. We'll never hold your setup hostage behind a subscription or a server we control.
The best features come from people actually using the thing. Open source means a bedroom tinkerer in Berlin can improve sync latency for everyone tomorrow.
You can read every line of code running on your device. No hidden telemetry, no surprise behavior. What you see is what's on the chip.
All available on AliExpress, Amazon, or Seeed Studio. Total cost: $4–8 depending on where you source.
The brain of StreamPuck. Handles WiFi connection, Snapcast client, clock sync, and OTA updates. Use any ESP32 dev board for prototyping.
Converts the digital audio stream from the ESP32 into a clean analog signal for the 3.5mm output. Way better sound than built-in DAC.
Powers the whole unit from any USB charger or power bank. The ESP32 and DAC together draw under 200mA — very efficient.
The output connector. Plugs into any speaker's aux input. Get the panel mount version if you're putting it in a case.
Shows connection status. Green = connected and streaming. Slow blink = connecting. Fast blink = error. Totally optional but satisfying.
Print our case design or grab a $1 project box from AliExpress. The STL is designed to fit all components with no cutting required.
Takes about 30 minutes. If you can follow a recipe, you can build this. AI prompts included so you can ask Claude or ChatGPT to help at any step.
You'll need Arduino IDE or PlatformIO and the ESP32 board package installed. Then clone the StreamDream firmware repo.
# Clone the StreamDream firmware git clone https://github.com/streamdream/streampuck-firmware cd streampuck-firmware # Install PlatformIO (if not already) pip install platformio # Install dependencies pio pkg install
🤖 AI PROMPT: "I'm setting up PlatformIO for an ESP32 project. Walk me through installing it on [Mac/Windows/Linux] and cloning a GitHub repo."
Copy the example config and add your network details. The puck will auto-connect on boot.
// config.h — copy from config.example.h #define WIFI_SSID "YourNetworkName" #define WIFI_PASSWORD "YourPassword" #define HUB_HOST "streamdream.local" #define HUB_PORT 1704 #define DEVICE_NAME "My StreamPuck" #define LED_PIN 2 // onboard LED
🤖 AI PROMPT: "Explain what each of these config values does in an ESP32 Snapcast client firmware. What should I set HUB_HOST to if my hub is running locally?"
Connect the DAC to the ESP32 via I2S — just 5 wires. Use our schematic on GitHub for the exact pinout.
ESP32 → PCM5102A DAC GPIO25 → BCK (Bit Clock) GPIO26 → LCK (Left/Right Clock) GPIO22 → DIN (Data In) 3.3V → VCC (Power) GND → GND (Ground) DAC 3.5mm output → Speaker aux in
🤖 AI PROMPT: "I'm connecting a PCM5102A DAC to an ESP32 via I2S for audio output. Explain what each pin does and why this wiring works."
Connect your ESP32 via USB and flash. The firmware includes the Snapcast client, WiFi manager, OTA update handler, and LED status logic.
# Build and upload via PlatformIO pio run --target upload # Watch serial output to confirm connection pio device monitor --baud 115200 # You should see: > Connecting to WiFi... > Connected: 192.168.1.XX > Connecting to StreamDream hub... > Sync established · offset: 2ms
🤖 AI PROMPT: "I'm flashing an ESP32 with PlatformIO and getting [error message]. Help me debug this step by step."
Open your StreamDream hub at streamdream.stream — your DIY puck should auto-appear as a detected device. Name it, assign a zone, done.
🤖 AI PROMPT: "My ESP32 Snapcast client connected to the network but isn't showing up in my StreamDream hub. What should I check first — mDNS, port conflicts, or firewall rules?"
Seeed Studio is the world's leading open hardware distributor — they sell ESP32 dev boards, maker kits, and finished IoT products to millions of makers globally. At 1,000 pre-orders we'll reach out for a formal distribution deal.
Crowd Supply is the go-to crowdfunding platform for open source hardware — think Kickstarter but specifically for makers. They handle fulfillment, international shipping, and press outreach for hardware launches.
StreamDream is open. The code is free. The community is growing. Pick your path and let's fill every room with music.