Setting Up a Raspberry Pi Zero 2 W as a Snapcast Client with WM8960 I2S Audio
Target System: Raspberry Pi OS Lite (Bookworm/Bullseye) – headless setup (no desktop)
This guide explains how to set up a Raspberry Pi Zero 2 W as a Snapcast client using the WM8960 I2S audio codec. It’s ideal for a minimal audio streaming setup in a multi-room audio environment.
1. Configure /boot/firmware/config.txt
Enable I2S and I2C interfaces and load the WM8960 overlay:
sudo nano /boot/firmware/config.txt
Add the following lines at the end of the file:
dtparam=i2s=on
dtparam=i2c_arm=on
dtoverlay=wm8960-soundcard
2. Update System and Install Required Packages
Run the following to update your system and install necessary tools and Snapcast client:
sudo apt update
sudo apt upgrade -y
sudo apt install --no-install-recommends \
git \
python3-venv \
python3-pip \
alsa-utils \
btop \
fish \
snapclient
3. Verify Audio Device
Reboot your Pi:
sudo reboot
After rebooting, check if the sound card is recognized:
aplay -l
Run a quick speaker test (assuming hw:1,0
is the correct device):
speaker-test -D hw:1,0 -c 2
4. Configure Volume with alsamixer
Launch the volume mixer:
alsamixer
- Press
F6
to select the WM8960 soundcard (usuallywm8960-soundcard
) - Adjust Speaker, Playback, and Output Mixer to around 85–95%
- Unmute channels by pressing
M
- Press
Esc
to exit
Save the audio settings:
sudo alsactl store
5. Configure Snapclient
Edit the Snapclient configuration file:
sudo nano /etc/snapclient.conf
Add or update the following entries:
server = 127.0.0.1
soundcard = hw:1,0
Replace
127.0.0.1
with the IP address of your Snapserver. Confirm your correct device ID withaplay -l
if needed.
6. Enable and Start Snapclient
Enable the Snapclient service on boot and start it immediately:
sudo systemctl enable snapclient
sudo systemctl start snapclient
Check the service status:
sudo systemctl status snapclient
You should see output similar to:
Connected to 127.0.0.1
Player name: alsa, device: hw:1,0
...
Done!
Your Raspberry Pi Zero 2 W is now a fully functional Snapcast client using WM8960 I2S audio output. Enjoy synchronized multi-room audio!