Introduction: High-End Low-Cost Network Music Player

I love good quality music. Good quality on the musical aspect is of course a matter of taste but on pure audio quality there are things that work with any style of music. I also have to do things with a limited budget so investments of €x000 are out of the question.

In order to get a convenient streaming system to play audio in both high quality (lossless from a spinning disk) and in lower quality (MP3 from somewhere on the interwebz) I would like a network player that can handle both. Now there are a few ready-made systems available on the market but the most of them are costly (>€200) and most can't handle higher quality audio of 24/96 & up (... let's not go in the discussion if you can really hear that, I just want the possibility).

So I started toying with the Raspberry Pi and two programs; Pi MusicBox and Volumio. Both work very well and have disk images on their sites that include the OS for the Pi so they are very easy to install & configure.

Edit: A very good instructable on howto install Pi MusicBox. And one for Volume

But ...

There is the flaw that the Pi's on-board audio is not even close to "high quality". It produses a lot of RF based noise and distortion. So the hunt started for a better DAC-hat for the Pi and one of the better contenders was based on the "Sabre" ES9023 chip. I found a nice little board designed to work with the Pi on Ebay for just over $20

Step 1: Improving Something Good ...

This TerraDak I2S board for the Pi's GPIO connector had even room for improvement; instead of the standard 50MHz clock I could adapt it to a temperature controlled clock that reduces jitter by a large amount. And a low jitter clock is paramount for top quality audio reproduction so worth the investment of another $20.

Once that bit of soldering was done the next part was easy; slap that li'll board on the Pi, tighten some nuts & bolts, connect to ethernet, power, & pre-amp, fire up the system to ... silence ... (insert crickets chirping here ...)

Of cource you have to tell the program that it has to work with the I2S device instead of the internal audio chip. This is done by selecting in the Settings>Audio: HifiBerry DAC

Step 2:

Once I had a nice sounding system I could start to work on an enclosure. I found a basic Pi enclosure for lasercutting on thingiverse* that I could adapt to my needs and after some struggling with inkscape and some more struggling learning how to work with LittleBoy@Hack42 and Visicut I finally had a good enclosure.

With lasercutting it's best to adjust the speed of cutting so that the laser will cut in one go through the material. Otherwise, after inspecting the material and reaching the conclusion than the cut is not complete, it's near impossible to replace the material on the exact position and the next cut will be beside the point.

But in the end it was clicking the box together, connecting the cabling again and enjoying the fact that for less than €100 it sounds really, really good.

Thanks to Dion for the inspiration and MacSimsky for the SMD desoldering lesson.

FYI, Audio system used; NAD 1000 pre-amp, Genelec 1029A & 1091A powered speakers.

*Edit: I found the original on Github, all credits to V.R.Sanders ...

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017