A minimal Alpine Linux image for Raspberry Pi that runs SendSpin - a high-quality audio streaming protocol for Home Assistant's Music Assistant.
- Minimal footprint - Runs Alpine Linux in sys mode with only essential packages
- USB DAC support - Automatic ALSA configuration for USB audio devices
- Auto-start service - SendSpin starts automatically on boot in headless mode
- Low latency - Direct ALSA hardware access for minimal audio buffering
- Raspberry Pi optimized - Built specifically for Pi 3/4 hardware
- Raspberry Pi 3 Model B / B+
- Raspberry Pi 4 Model B
- USB Audio DACs (USB Audio Class compliant devices)
Download the latest image from Releases
Linux/macOS:
dd if=sendspin-alpine-0.1.0-armv7.img of=/dev/sdX bs=4M status=progress
syncWindows: Use Rufus
- Insert SD card into Raspberry Pi
- Connect USB DAC
- Power on
- The player will automatically connect to Music Assistant on your network
- Default credentials:
root/alpine(change immediately!)
An automated build script is in development. For now, use the manual installation method.
See INSTALL.md for complete step-by-step instructions to build your own image from scratch.
This method is recommended if you want to:
- Customize the installation
- Understand how the system works
- Build for different hardware configurations
- Troubleshoot issues
Ethernet: Works automatically via DHCP
WiFi: SSH into the device and configure:
setup-interfaces
rc-service networking restartsetup-hostname mynewname
rc-service hostname restartBy default, the system uses the first USB audio device (card 0). To use a different device:
- List audio devices:
aplay -l - Edit
/etc/asound.confand changecard 0to your device number - Restart sendspin:
rc-service sendspin restart
sendspin-alpine-image/
├── build.sh # Main build script
├── config/
│ ├── asound.conf # ALSA audio configuration
│ ├── sendspin.initd # OpenRC service script
│ └── packages.txt # List of packages to install
├── scripts/
│ └── setup.sh # Post-install configuration
└── output/ # Build artifacts
Check buffer settings in /etc/asound.conf. Increase buffer_size if needed:
buffer_size 16384
# Check service status
rc-service sendspin status
# View logs
cat /var/log/messages | grep sendspin
# Manual test
sendspin --headless# List USB devices
lsusb
# Check ALSA devices
aplay -l
# Check kernel messages
dmesg | grep -i audio- Web UI for configuration
- Audio input capture and streaming
- WiFi configuration via boot partition config file
- Multiple USB DAC support
- Automatic updates
Contributions welcome! Please open an issue or pull request.
MIT License - See LICENSE file for details
- SendSpin by the SendSpin team
- Alpine Linux
- Home Assistant and Music Assistant