A recent re-arrangement in the house means the computer is no longer within range of the main Hi-Fi and its purpose built DAC. For the first time ever I faced a problem where I couldn’t play music in the living room from my PC. My options were really to buy a Network Music Player like the Sonos, or to Build a Network Music Player like the Sonos. A Sonos player starts at around $400, the above components at around $50.
The music player was based around the Raspberry Pi, a small $35 ARM based computer. Several Linux based distributions exist for the RPi including Volumio, and Rune Audio. Both of these Linux distributions are designed to be headless (no screen) media players controlled via a web interface. I chose Volumio due to its UPNP support. As the software is in its early stages and I may need to do complicated upgrades I added a SDCard socket to mount on the back of the DAC. This will allow me the ability to remove the SD Card from the RPi without worrying about how I would fit the RPi near the back of the DAC chassis. I also needed some way to connect the system to the network and Neutrik who manufacture the sockets on the back of my DAC also make an RJ45 socket which matches the design of the other sockets.
When I originally designed the DAC I envisaged a USB input. At the time I even went ahead and purchased a PCM2902 USB – S/PDIF CODEC. This part is resurrected to connect the RPi to one of the S/PDIF inputs of the DAC. One was made spare anyway as its socket was replaced with an RJ45 socket.
The above gallery shows the assembly of components. The Raspberry Pi mounted in a pink case was bolted to the baseplate of the DAC chassis. The RJ45 input replaced one of the S/PDIF inputs on the back of the chassis and a slot was cut for the SD Card socket. The PCM2902 was mounted on the back of the Raspberry Pi and connected via a hacked together USB cable.
Finally a small switch-mode power supply purchased from ebay was connected from an unused +15V line in the DAC PSU and provides the RPi with 5V.
The unit works well on the whole with a few minor caveats. The interface can currently be driven from any device with a web browser or via a UPNP remote. However the library browser does not currently appear to handle a large number of files from different sources. Additionally if a device is streaming to Volumio via a UPNP renderer then another device may not control it remotely, i.e. I can’t skip songs from my phone when they are playing from the PC. These issues are software related and hopefully the interface and control scheme will be improved as the software matures.