I’ve been a Sonos user for probably five years now. Initially, they were something of a marvel of integration and software polish, providing ease of setup and room filling sound for … they are not cheap. Their closed ecosystem was another sour note for me, but I pushed past that in favor of convenience.
This led me to the HifiBerry Amp2. I have some old speakers kicking around. All they need is an amplifier and a sound source, and this little module looked like it might fit the bill.
Update: Originally, the Amp+ was a 25WPC amp, the new Amp2 pictured above is capable of 30WPC, 60 Watts total power. The onboard DAC is also upgraded to support 44.1KHz-192KHz audio files.
For any project of sufficient complexity, you should really start with a full stomach. I had a (TRIGGER WARNING!) tuna sandwich with pickled onions on sourdough bread from an excellent new bakery here in town. It was delicious.
Unboxing and Assembly
Properly fed, I proceeded to unbox my newly arrived AMP 2 kit. I ordered it last week and it arrived intact all the way from Switzerland.
All told, it’s a surprisingly small package. The included power supply is easily the biggest piece in the kit. I’ve included my Raspberry Pi 3 and an apple for comparison in the above image. The simple cardboard box the Amp2 came in has a nice little message on it and not much else.
The case it came with is a simple ABS plastic thing with a snap cover, some plastic standoffs and little silicone feet. It’s not going to win any beauty contests, but once it’s together, I plan on hiding it in a cupboard in the kitchen.
Assembly was trivial. The Amp 2 sits on top of the GPIO pins on the Raspberry Pi as a dedicated HAT. And therein lies the beauty of this little thing. By using the I2C connection on the Pi, it provides a direct hardware connection to the processor, bypassing the USB bus and effectively becoming isolated from any noise or interference from the Pi’s main board. It also provides power back to the main board through the GPIO pins. Neat.
The GPIO pins remain available for additional hardware hacking if needed. I plan on using mine to install a rotary encoder and a pushbutton for volume knob and play/pause. I’ll report back with a schematic when I have it working.
That black rectangular chunk near the bottom of the device contains left and right speaker terminals, another terminal for installing a hard-wired, 14V power supply, and a circular pin and ring plug for the included 14V power adapter which drives the whole thing. No need for the usual Raspberry Pi USB power supply with this and you shouldn’t use one with this setup.
I did have to figure out which way the standoffs go. I left the extra bits coming out of the top, because mounted the other way made the stack too tall to fit properly into the case. The little plastic hex nuts don’t have a lot of room near the pins on top so I had to turn them very slowly with my SOG multitool. If you’ve got a tiny socket set, that might be the way to go to save yourself some aggravation.
Once together, I maneuvered the thing into the case and hooked up the speakers.
The speakers I’m using are an ancient pair of Koss MS20s from the Pre Internet Era. I’ve had these things since I was in high school, were my main speakers all through university, then spent a few years on the shelf until being recovered and used as rear channels in a surround sound setup. They still sound fantastic despite their great age. Please disregard the bag of croissants and plum jam blocking the view.
For software, I opted for Volumio v2.4 (“The Open Audiophile Music Player”). I’m not sure how I settled on it, but I think I heard of it from another HifiBerry user, probably on a forum. There are several other options out there that I intend to explore, but chose this as the first, liking the combination of “bit-perfect playback” and “free”. So far, I like Volumio though setup wasn’t a totally seamless experience and I’ll run through a few pain points I encountered along the way.
Once you have an image, pop it into the Raspberry Pi’s SD card slot and plug it in.
Volumio does something really cool here, it opens a wifi hotspot you can connect to with your phone or laptop that lets you configure wireless, your network drive if you have one and your output device (the Amp2, in my case) through an attractive web interface. It took me all of three minutes to get my Pi hooked up on my network, and after a reboot, I was online.
This is when I encountered my first issue. The list of supported DACs in Volumio is pretty extensive, but there was no mention of the HifiBerry Amp2. The previous Amp+ was there and attempts to use that as a driver failed.
Some internet searches directed me to use the HifiBerry DAC Plus driver, but my first attempts to use that were also unsuccessful. More internet searches, all of them taking me to Volumio’s forums or out-dated HifiBerry Guides, many of the entries referring to Volumio 1.5 and dating from 2014 or so. I eventually found a post that suggested turning off the I2C drivers, restarting, then turning them back on again and restarting once more. The driver installation equivalent of unplugging the cable then plugging it back in. After doing this a couple of times I got it working and streaming music from Radio Paradise.
Not bad at all.
The next pain point was connecting to my music collection on my Synology NAS. The Synology machines are rock solid and I have no trouble connecting to these things from just about every computer imaginable. Unfortunately, Volumio proved to be unable to connect to local storage no matter what I tried. I tried SMB/CIFS because that’s what everything else uses and got cryptic error messages flashing in the corner of the web interface. The error messages flash by pretty quickly, but I was able to grab a copy so I could at least search for the error messages.
The setup page suggested NFS as a recommended protocol, but that was also generating errors attempting to mount the filesystem.
It became very apparent that this web interface was a simple wallpapering over some linuxy setup commands under the covers. I feel like a bit of effort on the part of the team to try a couple of things to make this setup easier would be beneficial to capturing new users. There are some debugging options I learned about later on, but I was fairly insistent on not opening a terminal for setup and I’ve stuck to it, getting everything to work without the need for an SSH session and a bunch of log delving.
Anyway, more internet searches were performed. More forum results obtained. The final suggestion was to include the version number of the server’s SMB configuration as an option.
Again, this could have been included as a default, or added in and retried after a failure, because I think the majority of SMB servers support 2.0, but… Here we are.
With that set, I was able to scan my NAS and after it indexed everything, I had full access to my music.
Playback of my local collection is excellent, I am happy to report. I’m able to play even high res files at 96KHz/24bits over wireless without any issues. I’ve only noticed one drop-out in the past few days I’ve been using it, and I think better placement of the box will improve the wifi connection.
CBC Radio stations weren’t included in the Web Radio section, but manually adding one was easily done. (PS, CBC, you should really provide higher quality streams outside of your web interface and closed apps. You are supposed to be a public broadcaster after all).
Volumio has a pretty extensive set of Plugins for providing alternative sources and hardware options available as well. They have a Radio Paradise plugin with full FLAC streaming which sounds delightful. There is no such option on the Sonos.
Spotify users will be happy to know that there is a plugin for that as well.
Oh, one other feature that is theoretically very useful: Volumio can act as UPnP DLNA or Airplay end point for streaming. I haven’t been able to get this working yet, but should be a good way to get multi-room streaming working if I can figure it out. It shows up on the network, but the different connections I’ve tried yielded no sound.
And the sound… I still love these little Koss speakers and the amplifier in the HifiBerry is more than adequate to drive them. Loudly. They’re a little light on bass, but have excellent mids and smooth detailed highs. At thirty years old, they still sound fantastic.
How does the Amp2 compare to the Sonos?
Sonically, there’s no comparison. HifiBerry Amp2 and Volumio with a decent pair of speakers blows the Sonos 3 and 5 out of the water. First, it’s in stereo which is an instant win. Second, it’s more powerful. You can really fill a room with this.
Price-wise, all-in, I think this cost me around $120CDN. Call it $150 for the SD card and speaker cables. Attach a pair of PSB Alphas or Paradigm book shelf speakers and you can be up and running for under $300. If you can find a decent pair of used speakers, even better. Considering the price of a base Sonos speaker, you are miles ahead on savings.
Where the Sonos has the edge: multi-room connectivity and syncing. I only have the one Berry so far, so I’m not sure how Volumio handles multiple room setups, but I’ll wager it’s rudimentary at best. The Sonos Apps, for all their flaws, are better than the Android and iOS apps which are only a thin webview over Volumio’s web interface. They work pretty well, but on Android, the back button doesn’t work (at all) and I frequently get error screens if I leave the app running and it loses connection.
Neither of these are insurmountable and are likely solvable by using one of the other (for pay) installations available, which I will likely investigate next. Max2Play seems to be the favored contender in this space so it’s worth a look. There’s also Rune Player which has some interest as well.
Update: Untested, but Volumio comes with multi-room support built-in. The Snapcast plugin will apparently provide syncing. Advantage: Volumio.
HifiBerry Amp2 + Volumio Verdict: HIGHLY RECOMMENDED.