• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

$100 Roon Bridge Endpoint: Raspbery Pi & HiFiBerry Digi+ Pro

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Roon Bridge is open source software, provided freely by Roon, that allows Roon-native endpoints to be created using a wide variety of devices, either DIY or commercial.

It uses the RAAT protocol to provide lossless audio streaming services without some of the downsides faced when using AirPlay or Squeezebox methods.

Before your eyes glaze over, the net result of all this is:

For about $100, and less than an hour of your time, you can create a small, dedicated, Roon endpoint that provides ethernet-based streaming and lossless 24bit/192khz digital audio output over optical and coax S/PDIF to your DAC.

Prerequisites You Will Need:

1. A computer with USB port
2. A computer running Roon Core. It doesn't matter if it's the same computer or not as #1.
3. A router or hub that has 100 megabit or better Ethernet that is within cable distance of your audio electronics
4. Ethernet cable long enough to go from your router or hub to your audio electronics

Parts You Will Need to Buy:

1. Raspberry Pi 2 Model B $40

4133JwedpXL.jpg


Why the 2 B and not the newer, more powerful, slightly cheaper 3 B?

The 3B's WiFi antenna is too weak-sauce, with poor QoS for high-resolution audio streaming (it's okay for Redbook), it sucks up extra CPU and bus cycles, and causes potential interference. Buying the 2B eliminates the unnecessary complication and it still has more than enough compute horsepower when running a minimal operating system to stream digital audio just fine.

If you're enough of a Linux guru to know to how to disable the WiFi services on the 3B, go ahead and get it if you prefer.

2. HiFiBerry Digi+ Pro $45

digiplus-pro-441x441.jpg


I recommend the top of the line model. For only $15 more than the Digi+ Standard, you get:

-Galvanic isolation
-Output transformer
-Dual clock oscillators for lower jitter
-You can solder on a BNC connector if you want to be badass

There is a comparison chart of different models. If you don't need or want any of the Pro features, you can get one of the cheaper ones.

3. Case (or Not) $0 to whatever

I use the HighPi case because it's tool-free, snaps together, isn't too ugly, reasonably priced, and specially designed for HiFiBerry HATs (Hard Attached to Top, Pi-speak for daughter cards like the HiFiBerry family).

unicase-front.jpg


But you can also make one out of Legos...

TqaxpuQRn6zXb0tSu264eLOqp0b51h6tsKOagBA6N8Q7T4fMARYmNSwfnMdYk9yaq4u3VyMS=w282-h187-p-no


zFEIB_Bg0A_me4PUQZFpxFz2m5fYVudzquF9gvDl59c.jpg


Or go naked and use nothing at all:

RPI-HB+DIGI-6-1000x667.jpg


4. 32 GB Micro SD Card $12

61QUihx7wiL._SL1200_.jpg


For this application, you can actually get away with the 8 GB model if you want to save $5. I prefer to spend the extra $5 in case I need more storage in the future if I repurpose the parts.

5. Optional: USB SD-Card Reader

If your computer has native SD card reading capabilities, or you already have a reader for digital cameras, you probably don't need this.

6. Optional: Micro USB 5V/2.5A Power Supply

If you have an Android phone or other micro-USB powered devices, you might have several of these lying around the house already (I did). If you don't, you'll need to buy one.


Act I: Assembling The Pi:

1. Plug the 40 PIN GPIO pin female connector of the Digi+ into the 40 PIN male connector of the Raspberry Pi

hifiberry+01.jpg


2. Stick it in your case. Or not if you're not using one.

Don't bother plugging it in and trying to turn it on; it doesn't have an operating system yet so nothing will happen except the power light will come on.


Act II: Creating the Boot Image, Configuring the Software, adding to Roon

At this point, I will direct you to the excellent guide for the software side of things already written by Roon Community member RBM.

Follow what he says step by step for your particular desktop OS with one major exception:

Because of a security update to the Raspbian Jessie Lite OS since RBM wrote the guide, you will need to do one extra step.

In the section Writing the OS to the SD Card, he says:

"The writing process will take a few minutes. When it’s finished, just close the app and eject your SD-card. Insert the freshly written SD-card into your Pi, attach network and power cables and off you go!"

Before you eject the card, you need to create a file with no extension called ssh in the root of the boot image.

If you don't do this extra step, you won't be able to remotely connect to the Pi using ssh or Putty; remote connectivity is no longer on by default for security reasons.

Once you've done that, you can proceed with the rest of his instructions as written.


Act III: Have Fun

If you follow the rest of RBM's guide you should be done and playing music.

Enjoy!
 
Last edited:
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Ah most excellent! Thanks so much for writing this. Going right now to Amazon to order the daughter card!

And oh, that lego box is a riot!

I think Amazon only has the Standard and Transformer version.

On the other hand, you don't have to ship from Switzerland like I did with the Pro.
 

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,368
Likes
234,390
Location
Seattle Area
Just to be clear at high level the purpose of this build, it allows your computer music server to sit away from your audio rack. You connect the server over ethernet to this little device and this feeds your DAC.

It eliminates the need to build a silent PC. It competes with likes of Sonore MicroRendu although the output is S/PDIF rather than USB.
 

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,368
Likes
234,390
Location
Seattle Area
I think Amazon only has the Standard and Transformer version.
Yeh I just realized that after searching and not finding it there. So went ahead and ordered it from HiFiBerry direct. At first I thought they were Chinese company when it said mailing would be without tracking and such. But once I saw that they were a swiss company I felt at ease and ordered it from them.

Their form fill by the way at check out is odd. It breaks Autofill with Chrome if you try to edit any fields.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Just to be clear at high level the purpose of this build, it allows your computer music server to sit away from your audio rack. You connect the server over ethernet to this little device and this feeds your DAC.

It eliminates the need to build a silent PC. It competes with likes of Sonore MicroRendu although the output is S/PDIF rather than USB.

Correct, and in addition to being 1/6th of the price of the MicroRendu, I personally think S/PDIF is a slightly superior way to connect when compared to USB.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Here is more commentary from the designers on the Digi+ Pro about features I didn't mention in the intro:

  • 2 separate oscillators for 44.1 and 48kHz provide the optimal clock frequencies for all sample rates
  • gold-plated RCA connector
  • I2S output connector (soldering necessary)
  • you can power the 5V part of the circuit and the 3.3V part of the circuit from an external power supply (soldering necessary)

https://www.hifiberry.com/blog/the-hifiberry-digi-pro-our-most-advanced-digital-audio-interface/
 

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
I currently feed my dac from the usb of a raspberry pi running moodeaudio. (excellent mpd based interface to your music btw). There is a lot of 'talk' on the net about usb noise that is injected into the dac. Not having an oscilloscope, I cannot test this myself. However, this 'fearmongering' has driven the development of devices like the regen, the microRendu(which has a regen built in) and other ways to get the digital signal into your dac. Of course the hi-fi berry and a host of other dtrboards allow a dac on board or even coax/toslink output.

I am interested in getting the sound from the i2s port directly to my dac, which has an i2s input in the form of an hdmi socket. Obviously i would have to sacrifice an hdmi cable and connect the wires to the gpio pins of the pi. However, I dont think I am skilled enough to do this. Although I can research the pinoouts of my dac (Gustard X20) and the pinouts of the GPIO, the other issue is how to direct audio output to the GPIO.

Has anyone here ventured into this territory? that is, using a raspberry pi with i2S output?
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
I currently feed my dac from the usb of a raspberry pi running moodeaudio. (excellent mpd based interface to your music btw). There is a lot of 'talk' on the net about usb noise that is injected into the dac. Not having an oscilloscope, I cannot test this myself. However, this 'fearmongering' has driven the development of devices like the regen, the microRendu(which has a regen built in) and other ways to get the digital signal into your dac. Of course the hi-fi berry and a host of other dtrboards allow a dac on board or even coax/toslink output.

I am interested in getting the sound from the i2s port directly to my dac, which has an i2s input in the form of an hdmi socket. Obviously i would have to sacrifice an hdmi cable and connect the wires to the gpio pins of the pi. However, I dont think I am skilled enough to do this. Although I can research the pinoouts of my dac (Gustard X20) and the pinouts of the GPIO, the other issue is how to direct audio output to the GPIO.

Has anyone here ventured into this territory? that is, using a raspberry pi with i2S output?

Sorry if I'm being dense, but what problem do you think using i2s will solve?

If the hypothesis is that the Pi has sufficient RFI noise to pollute the USB signal, I wouldn't necessarily expect the i2s out to be immune to this.

Also, which version of the Pi are you using?

Lastly, I'd wait until measurements come in from @amirm before doing anything.
 

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
Well I am not a hardware expert so I do not know the fine points of the differences between USB and i2s. My understanding is that the USB requires a clock and that there is significant jitter in it. In addition the USB output can have significant analog noise though I would expect i2s signals to have this noise as well which can only be addressed by using electrical isolation and a better power supply.
 

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,368
Likes
234,390
Location
Seattle Area
I have tested both the Regen and MicroRendu and they don't show any improvement over USB compared to the USB port on my computer. And this is with a low-cost iFi DAC and Meridian Explorer. The company itself has not produced any measurements showing any improvement either. So while I will test the Pi later, this whole theory of USB noise does not hold water with any half decent DAC (run in asynchronous mode).
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Well I am not a hardware expert so I do not know the fine points of the differences between USB and i2s. My understanding is that the USB requires a clock and that there is significant jitter in it. In addition the USB output can have significant analog noise though I would expect i2s signals to have this noise as well which can only be addressed by using electrical isolation and a better power supply.

To get back to your original fear:

Is it that the USB interface has significant jitter?

Or that it has other electrical noise?

If it's jitter you fear, I'll say the following:

Out of the box, the vanilla Raspberry Pi does not have very good jitter measurements. The problem is that the vanilla Pi runs in master mode. This effects the vanilla i2s implementation. And you get a graph (taken from here) that looks like this:

i2sphasenoise-2.png


That's why, in this build, I recommend using the Digi+ Pro HAT -- because it has two oscillators for the 44.1khz and 48khz clock families, that attempt to improve upon the substandard jitter specs of the vanilla Pi.

We'll see how well the Digi+ Pro does on the jitter test. But my hypothesis, based upon Archimago's measurements of the DAC+ Pro, which use the same oscillators, is that the jitter results will be pretty good, especially for the price. The DAC+ Pro jitter results look like this:

Comp.png


So, in summary, if your fear is the the vanilla Pi USB interface has bad (edit: "bad" may be too harsh -- let's go with "not great") jitter measurements, that's true. It does. But moving to the vanilla i2s implementation won't solve that problem. You need to move to something that provides a better clock alternative, which this build tries to do, and slaves the system to it.

As for fears that the vanilla USB interface is susceptible to other electrical noise, I would expect that to be highly dependent on power supply and isolation. The Digi+ Pro used in this build includes power regulation which attempts to address noise. We'll find out how well it does with various power supplies when @amirm gets his for measurement.
 
Last edited:

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
Thank you for your reply but I do not completely understand what the hardware underlies each graph in this image:
i2sphasenoise-2.png


RPi I2S + ES9023 DAC
BBB I2S + ESS9023
USB-I2S-2+ ESS9023
USB-I2S-1+ESS9023

and what is the difference between USB-I2S-2+ ESS9023 and USB-I2S-1+ESS9023?
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
RPi I2S + ES9023 DAC
BBB I2S + ESS9023
USB-I2S-2+ ESS9023
USB-I2S-1+ESS9023

and what is the difference between USB-I2S-2+ ESS9023 and USB-I2S-1+ESS9023?

It's 4 different DACs / I2S connections, all of which use the ESS Sabre DAC chip.

For the purpose of this discussion, the only relevant one is the RPi I2S graph, which shows the measured jitter performance of the vanilla Pi i2S interface. You can ignore the others except as figures of relative merit.
 

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
thank you. but i am curious as to what the hardware pieces are. For example, what's the difference between
USB-I2S-2+ ESS9023
USB-I2S-1+ESS9023
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Listening to the HiFiBerry Digi+ Pro right now through Roon.

In comparison:

Chain 1:

Roon Server -> AirPlay -> AppleTV -> HDMI -> TV -> optical out -> W4S Remedy Reclocker -> coax -> W4S mPRE

Chain 2:

Roon Server-> RAAT -> Digi+ Pro -> optical out -> W4S mPRE


At the risk of saying something subjective (that I can't back up with a controlled test and am not presenting as any kind of evidence), I prefer Chain 2 after a sample size of 1 song. :rolleyes:o_O:p;)
 
Last edited:
Top Bottom