I’m too tight to buy Sonos so I’ve been experimenting with alternatives. I have a couple of Chromecast Audio devices but having to stream audio from my phone just doesn’t feel right. What I needed was a media server. Enter the new Raspberry Pi Zero W, a tiny WiFi enabled computer that’s smaller than a credit card. The Raspberry Pi isn’t renowned for it’s audio quality but there are plenty of third-party DACs to choose from. Not wanting to spend much money (otherwise I might as well buy a Sonos) I opted for a Pimoroni pHAT DAC. At £12 it could hardly be any cheaper, but is it any good?
In total, I spent just under £30 on the Pi Zero, the DAC and a few essential connectors. Assembly requires soldering 40 pin headers onto both the Zero and the DAC. It’s a bit fiddly but not too onerous. Then, it’s just of question of downloading an operating system, copying it to a micro SD card and powering the beast up.
There are no end of media server distributions available for the Pi. For ease of installation, I went for LibreELEC, because the latest version (188.8.131.52) supports the Zero W out of the box. LibreELEC runs Kodi, a well regarded media player or so I’m told because I’m new to all this.
Everything worked first time. I had to configure the WiFi and it took some Googling to work out how to get the audio card working but I was up and running in less than an hour.
There was one snag. The Zero only has two USB ports and one of those is for the power supply, so with a keyboard connected there was no way to add extra storage. Yes, I tried a USB hub, but mine (an Amazon Basics) didn’t work – Raspberry Pi USB 3.0 hub compatibility is a known problem.
As a workaround, I copied a couple of albums to the SD card. The results were impressive. I swear this thing sounds better than my CD player. I know that’s daft because MP3s can’t sound better than CDs. Perhaps my CD player is rubbish. I don’t know. Anyway, all that matters is for 30 quid I’ve got a brilliant little CD player.
Not being able to play music from a USB stick was really bugging me, but after hunting around I came across Yatse, a little Android app that acts as a remote control for Kodi. Not only will it let you select which music (or videos) you want to play, it will also act as a virtual keyboard. So, out came the real keyboard, in went the USB stick and after a couple of minutes a good chunk of my music collection was available on the Zero. After that, I unplugged the TV and ran the little music player as a headless device controlled by Yatse. As a temporary measure, I’ve built a case from Lego. As you can see from the photo, it looks rubbish but it adds a little weight and keeps everything from sliding around.
The next step is to buy the pro version of Yatse (£3.49) and see if I can stream music to the Chromecasts. It means the phone is in the loop again, but I’m sure things wouldn’t be much different if I had bought a Sonos.
Bits and Pieces (Raspberry Pi bits from Pimoroni)
- Raspberry Pi Zero W + Adaptors
- Pimoroni pHAT DAC + Dual Phono Connector
- Micro SD card
- SanDisk Cruzer USB
Software, installation and configuration