A few years ago I purchased a SqueezeBox Boom to use as an alarm clock. The old alarm clock had the usual features. It had an AM/FM tuner, a tape deck, and dual alarm—and a snooze button. It was your typical nightstand alarm clock. Switching to the Boom was wonderful. The sound is excellent (for a an alarm clock), it has an unlimited number of custom alarms, it streams music over WiFi from my nearly 10,000 track music collection, and it has a snooze button. On the other hand, it’s not the most user-friendly device in the world… not by a long shot. Even after sleeping beside it for years my wife still cannot figure out how to set the alarm. But as you will later learn, I am not afraid to dig into the technical side things, so I haven’t minded setting the alarm for her—and she can use her iPhone in a pinch. So we are happy with our SqueezeBox.
Things got even better when I found an iOS app to control the SqueezeBox—now it is possible to queue up playlists and adjust the volume with my iTouch. I’ve always dreamed of having speakers throughout the house all attached to the media library on the main computer. Things were starting to look promising; I thought it was about time to add another SqueezeBox to the network. Much to my dismay I learned that Logitech had discontinued the SqueezeBox line. A quick check on Amazon and eBay revealed sky-high prices on used SBTouch and SBReceiver. I momentarily entertained the idea of selling the Boom. That was when I found the Logitech SqueezeBox replacement for under $30.
The family room needs a pair of speakers, both for listening to music and for watching movies. The current setup involves carting an old set of computer speakers over to the TV for movies. Better than the built-in speakers on the TV for sure, but it’s ugly, does not sound great, and sorely lacks in the convenience department. A ¼” cable can be used with the same old computer speakers to play music from the iTouch, but again, very inconvenient and ugly. Who wants to have an iTouch tethered to a set of old computer speakers in the corner?
I made a plan:
- Build a PogoPlug-based SqueezeBox
- Buy a pair of high quality speakers
The primary objective was to have a not-too-shabby-sounding music streaming system. I figured I’d improvise from there, possibly buying more hardware if necessary, to pipe in the TV. A bit more research turned up the components (approximate prices):
- PogoPlug E02 – $20
- Behringer UCA-202 USB DAC – $30
- USB WiFi dongle – $10
- 4GB USB drive – had one laying around
- Mackie HR624 powered studio monitors – a lot more than the rest…
As you can see, the sound card alone cost $30, so it didn’t quite live up to the “under $30” claim, but apart from the speakers it is still far cheaper than buying a Squeezebox, even at the price before they were discontinued. After a few days waiting for things to arrive, packaging materials strewn about the office, and way too many late nights researching PogoPlug boot loaders, Linux WiFi drivers, ALSA configurations, and kernel memory leaks we have high quality music in the family room at last.
Now for the rest of the story, some of the gory technical details of what it took to build this thing. If you don’t want to build your own Linux-based music system then you probably will want to stop here.
Building the PogoPlayer
- Debian Wheezy on the PogoPlug
- ALSA, UCA-202, squeezelite
- Source switch and volume controller app for mobile device (or any web browser)
- PogoPlayer – Known Issues and Annoyances
This is not a complete how-to guide. Rather, it points to resources I used and issues that I ran into along the way. I hope others will find it to be a useful reference for building a Linux-based music appliance.