Turn your Raspberry Pi into a dedicated Spotify player for your speakers or sound system. Control playback from your phone, computer, or tablet while the Pi handles all the streaming. Perfect for turning any speakers into smart speakers.
What You're Building
A dedicated Spotify streaming device that:
- Plays Spotify directly to your speakers
- Shows up as a Spotify Connect device on all your devices
- Controlled entirely from your phone/computer
- Runs 24/7 without a monitor
- Works with any speakers (powered or passive)
- No ads (requires Spotify Premium)
- Better sound quality than Bluetooth
- Uses minimal power
Difficulty: ⭐⭐ Easy Time Required: 30 minutes - 1 hour Cost: $40-80 depending on model
What You'll Need
Required Components
Raspberry Pi
- Raspberry Pi 3 B+ – Good audio quality, affordable option
- Raspberry Pi 4 – Best performance (any RAM size works)
- Raspberry Pi Zero 2 W – Budget option, compact size
- NOT recommended: Original Pi Zero (too slow)
Storage
- SanDisk 128GB microSD Card – Recommended, plenty of space
- Minimum: 8GB for basic setup
- Class 10 speed rating required
Power Supply
- Official Raspberry Pi power supply
- OR quality USB power adapter (5V 2.5A minimum)
- Consistent power = no audio dropouts
Network Connection
- Built-in Wi-Fi (on Pi 3/4/Zero 2 W)
- OR ethernet cable (better reliability)
Audio Output (Choose One)
Option 1: 3.5mm Jack (Built-in)
- Works with powered speakers
- Decent quality for casual listening
- Free (built into Pi)
Option 2: USB Sound Card (Better Quality)
- SABRENT USB External Stereo Sound Adapter – Great upgrade for better audio
- Significantly better audio quality than built-in
- Cleaner output, less noise
- Recommended for serious listening
Option 3: USB DAC (Best Quality)
- Audiophile-grade sound
- Clean power, low noise
- $50-200 depending on quality
- For high-end speaker systems
Option 4: HiFiBerry DAC HAT (Excellent)
- HiFiBerry DAC+ HAT – Premium sound quality, mounts directly on Pi
- Mounts directly on Pi GPIO
- Great audio quality
- Clean installation
- Professional audio output
Recommended Accessories
Case
- Clear Case for Raspberry Pi 3 B+ – If using Pi 3 B+
- Case for Raspberry Pi 4 – If using Pi 4
- Clear Case for Raspberry Pi Zero 2 W – If using Zero 2 W
- Protects from dust and damage
- Fanless is fine (Pi doesn't work hard for music)
Speakers
- Powered/active speakers (easiest - plug directly into Pi)
- Passive speakers + amplifier
- Home stereo system (via aux input)
- Bluetooth speakers (can connect to Pi)
Requirements
Spotify Premium Account
- Required - Free Spotify doesn't support Connect
- Student, Individual, or Family plan all work
- Premium gives lossless streaming option
Software Options
Raspotify (Recommended - Easiest)
What it is: Lightweight Spotify Connect client Best for: Simple dedicated Spotify player Pros:
- Super easy setup (10 minutes)
- Minimal resource usage
- Rock solid stability
- Headless (no screen needed)
- Works perfectly with Spotify Connect
Cons:
- Spotify only (no other features)
- No local controls (phone/computer only)
- No display output
Volumio (Feature-Rich Alternative)
What it is: Full-featured audio player OS Best for: Multi-source music system Pros:
- Web interface for control
- Supports Spotify, local files, internet radio
- Beautiful interface
- Equalizer and audio settings
- Playlist management
Cons:
- More complex setup
- Some features require paid plugin
- Uses more resources
Mopidy (Advanced)
What it is: Extensible music server Best for: Developers and tinkerers Pros:
- Highly customizable
- Many plugins available
- Can integrate with other services
Cons:
- Command line configuration
- Steeper learning curve
- More maintenance
This guide focuses on Raspotify - it's the easiest and most reliable for dedicated Spotify use.
Quick Shopping List
Everything You Need to Get Started:
Raspberry Pi Options (Choose One):
- Raspberry Pi 4 – Best performance, $35-45
- Raspberry Pi 3 B+ – Great budget option, $35
- Raspberry Pi Zero 2 W – Ultra compact, $15
Storage:
- SanDisk 128GB microSD Card – $15-20
Case (Match to your Pi):
- Pi 4 Case – $8-10
- Pi 3 B+ Clear Case – $8-10
- Pi Zero 2 W Clear Case – $8-10
Audio Upgrade (Optional but Recommended):
- SABRENT USB Sound Adapter – Better quality than built-in, $8
- HiFiBerry DAC+ HAT – Premium audio quality, $30-40
Total Cost: $66-115 depending on your choices
Step-by-Step Setup Guide
Step 1: Install Raspberry Pi OS Lite
We'll use Raspberry Pi OS Lite (no desktop) since we don't need a monitor.
Using Raspberry Pi Imager:
- Download Raspberry Pi Imager from raspberrypi.com/software
- Insert microSD card into computer
- Open Raspberry Pi Imager
- Click "Choose OS"
- Select "Raspberry Pi OS (other)"
- Select "Raspberry Pi OS Lite (32-bit)"
- Click "Choose Storage" and select your SD card
- Important: Click the gear icon (⚙️) for advanced options:
- Set hostname:
spotify(or your choice) - Enable SSH
- Set username and password
- Configure Wi-Fi (SSID and password)
- Set locale settings
- Set hostname:
- Click "Save"
- Click "Write"
- Wait for completion
- Eject SD card
Step 2: Boot and Connect
- Insert SD card into Raspberry Pi
- Connect your audio output:
- 3.5mm jack: Connect to powered speakers
- USB sound card: Plug into USB port
- DAC HAT: Ensure properly mounted
- Connect power (ethernet optional but recommended)
- Wait 1-2 minutes for first boot
Find Your Pi on Network:
Option 1: Use hostname
- If you set hostname to "spotify", it should be at:
spotify.local
Option 2: Check your router
- Log into router admin
- Look for new device (named Raspberry Pi or your hostname)
- Note the IP address
Option 3: Network scanner
- Use app like "Fing" (iOS/Android)
- Scan network for Raspberry Pi
Step 3: Connect via SSH
From Windows:
- Open PowerShell or Command Prompt
- Type:
ssh username@spotify.local(replace username with what you set) - Enter password when prompted
From Mac/Linux:
- Open Terminal
- Type:
ssh username@spotify.local - Enter password
First time connecting:
- You'll see a security warning
- Type "yes" and press Enter
- This is normal
Step 4: Update Your Pi
Once connected via SSH:
sudo apt update
sudo apt upgrade -y
This may take 5-10 minutes. Wait for completion.
Step 5: Install Raspotify
Install Raspotify with one command:
curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
Wait 2-3 minutes while it installs.
That's it! Raspotify is now installed and running.
Step 6: Configure Raspotify (Optional)
The default settings work great, but you can customize:
Edit configuration file:
sudo nano /etc/raspotify/conf
Useful settings to change:
# Device name (how it appears in Spotify)
DEVICE_NAME="Living Room Speakers"
# Audio device (usually auto-detected)
# DEVICE="default"
# Bitrate (higher = better quality, more bandwidth)
# Options: 96, 160, 320
BITRATE="320"
# Volume normalization
VOLUME_NORMALISATION="--enable-volume-normalisation"
# Backend (ALSA recommended)
BACKEND="alsa"
To save:
- Press
Ctrl + X - Press
Yto confirm - Press
Enter
Apply changes:
sudo systemctl restart raspotify
Step 7: Configure Audio Output
Check available audio devices:
aplay -l
This shows all audio devices. Look for:
card 0: Headphones(3.5mm jack)card 1: Device(USB sound card)card 0: sndrpihifiberry(HiFiBerry DAC)
Set default audio device (if needed):
sudo nano /usr/share/alsa/alsa.conf
Find these lines and change card number:
defaults.ctl.card 0
defaults.pcm.card 0
Change 0 to your card number from aplay -l.
Test audio:
speaker-test -c2 -t wav
You should hear test tones. Press Ctrl + C to stop.
Step 8: Connect from Spotify
On your phone/computer:
- Open Spotify app
- Start playing any song
- Tap the "Devices Available" icon (speaker with waves)
- You should see your device name (default: "raspotify" or custom name)
- Tap it to connect
- Music now plays through your Pi!
That's it! Your Spotify streaming box is working.
Using Your Spotify Box
From Phone
- Open Spotify app
- Choose your Raspotify device from available devices
- Control playback normally
- Volume controls adjust Pi output
From Computer
- Open Spotify desktop app
- Click device selector (bottom right)
- Choose your Pi
- Control from computer
From Web Player
- Go to open.spotify.com
- Log in
- Click device selector
- Choose your Pi
Voice Control
With Google Home:
- Link Spotify to Google Home
- Set default speaker to your Chromecast/Google device
- Say "Hey Google, play [song] on [room]"
Note: Direct voice to Pi requires additional setup with Google Assistant SDK.
Advanced Configuration
Improve Audio Quality
Use High-Quality Bitrate:
Edit /etc/raspotify/conf:
BITRATE="320"
Disable Wi-Fi Power Management (Prevents dropouts):
sudo nano /etc/rc.local
Add before exit 0:
iwconfig wlan0 power off
Use Ethernet for most stable connection.
Auto-Start at Boot
Raspotify starts automatically by default. Verify:
sudo systemctl status raspotify
Should show "active (running)".
Enable if not running:
sudo systemctl enable raspotify
sudo systemctl start raspotify
Add Display (Optional)
Want to see what's playing?
Install Raspotify with Display:
- Install Raspberry Pi OS Desktop instead of Lite
- Install Raspotify same way
- Add web interface or use HDMI display
OR use Volumio which has built-in web interface.
Set Volume Limits
Protect your speakers from max volume:
Edit /etc/raspotify/conf:
VOLUME_ARGS="--initial-volume=50 --volume-range=60"
This sets:
- Initial volume: 50%
- Maximum volume: 60%
Multiple Raspotify Devices
Run multiple Pis for multi-room audio:
On each Pi, set unique name:
DEVICE_NAME="Kitchen"
DEVICE_NAME="Bedroom"
DEVICE_NAME="Living Room"
Control which room from Spotify app!
Create Startup Script for Auto-Play
Play specific playlist on boot:
This requires additional scripting and isn't built into Raspotify, but can be done with spotify-cli or similar tools.
Troubleshooting
Device Doesn't Show Up in Spotify
Solutions:
- Check Pi is powered on and connected to network
- Restart Raspotify:
sudo systemctl restart raspotify - Check status:
sudo systemctl status raspotify - Verify Spotify Premium is active
- Make sure Pi and device are on same network
No Audio Output
Solutions:
- Check speaker power and volume
- Test with
speaker-test -c2 -t wav - Verify audio device in Raspotify config
- Check ALSA settings:
alsamixer - Try different audio output device
Audio Cutting Out
Solutions:
- Use ethernet instead of Wi-Fi
- Move Pi closer to router
- Disable Wi-Fi power management
- Check power supply (weak power causes issues)
- Lower bitrate temporarily
Poor Audio Quality
Solutions:
- Increase bitrate to 320 in config
- Use USB DAC instead of 3.5mm jack
- Check speaker quality
- Ensure proper speaker connection
- Update Raspotify:
sudo apt update && sudo apt upgrade
Can't Connect via SSH
Solutions:
- Verify SSH was enabled in imager
- Check Pi IP address on router
- Try IP address instead of hostname
- Ensure on same Wi-Fi network
- Check firewall settings
Tips for Best Experience
Audio Setup
For Best Quality:
- Use USB DAC or HiFiBerry
- Quality powered speakers
- Wired ethernet connection
- 320kbps bitrate
For Budget Setup:
- 3.5mm jack to powered speakers
- Wi-Fi connection
- 160kbps bitrate (still sounds good)
Network Optimization
- Place Pi close to router if using Wi-Fi
- Use 5GHz Wi-Fi for less interference
- Ethernet always better than wireless
- Avoid video streaming on same network during playback
Power Management
- Use official power supply
- Consider adding UPS for always-on setup
- Pi uses ~3-5W (very efficient)
- Can leave running 24/7 safely
Integration Ideas
Multi-Room Audio
Cheapest Multi-Room System:
- Multiple Raspberry Pis (one per room)
- Powered speakers in each room
- Control all from one Spotify account
- Total cost: ~$100 per room
Cheaper than Sonos, more flexible!
Smart Home Integration
With Home Assistant:
- Control Pi playback
- Automation triggers
- Voice commands
- Scene integration
With Google Home/Alexa:
- Voice control Spotify playback
- Room-based commands
- Routine integration
Party Mode
Multiple Speakers, Same Music:
Unfortunately, Spotify Connect plays to ONE device at a time.
Workarounds:
- Use Spotify Group Session (mobile)
- Install Snapcast for synchronized multi-room
- Use multiple Spotify accounts (Family plan)
Upgrading to Volumio
Want more features? Switch to Volumio:
- Download Volumio from volumio.com
- Flash to SD card
- Boot Raspberry Pi
- Access web interface at volumio.local
- Install Spotify plugin (requires purchase)
- Enjoy additional features
Volumio advantages:
- Web interface
- Supports multiple music sources
- Equalizer
- Better for local music libraries
- Touchscreen support
Cost Comparison
DIY Raspberry Pi Spotify Box:
- Raspberry Pi: $35-45
- Power supply: $8
- SD card: $8
- USB DAC (optional): $20
- Case: $8
- Total: $59-89
vs. Commercial Options:
- Sonos One: $219
- Google Nest Audio: $99
- Amazon Echo: $99
- Chromecast Audio (discontinued): $35
You save $10-160 and get more control!
What's Next?
Expand Your Setup:
- Add more rooms with additional Pis
- Upgrade to HiFiBerry for audiophile quality
- Install Volumio for more features
- Add display for now playing info
- Integrate with home automation
Other Projects:
- Combine with RetroPie (dual boot)
- Add AirPlay support (shairport-sync)
- Build internet radio player
- Create alarm clock with wake-up music
Resources
Official Resources:
- Raspotify GitHub: github.com/dtcooper/raspotify
- Volumio: volumio.com
- Raspberry Pi Forums: raspberrypi.org/forums
Communities:
- r/raspberry_pi
- r/spotify
- r/audiophile
Hardware:
- HiFiBerry: hifiberry.com
- DAC recommendations: audiosciencereview.com
Final Thoughts
A Raspberry Pi Spotify streaming box is one of the most practical Pi projects:
✅ Daily use - Actually use it every day ✅ Easy setup - 30 minutes to working music ✅ Great sound - Better than Bluetooth ✅ Affordable - Fraction of commercial options ✅ Expandable - Add features as needed
Perfect first project or addition to any music lover's setup.
Ready to build your Spotify streaming box? Follow this guide and you'll be streaming high-quality music in under an hour!
Disclosure: Troy's Tech Corner participates in the Amazon Associates Program. We may earn a commission from qualifying purchases at no additional cost to you. This helps support our content creation.