High resolution sound with the Raspberry Pi using I2S

raspberry-piOur HiFiBerry project is still ongoing. The PCB design is almost finalized and we expect the device to be ready in about 4-6 weeks. With HiFiBerry you will get an inexpensive and high-quality sound card for the Raspberry Pi. However, there is one thing it cannot provide: high-resolution sound, that means sampling frequencies above 48kHz are not supported. There are a lot of Pros and Cons for or against higher samples rates than 48kHz. At least when it comes to post processing like equalizing or digital crossovers, higher samples are a good idea.

You could also add an external USB sound card. But we are looking for a real DIY solution ;-) The 2nd revision of the Raspberry Pi provides access to the I2S pins of the processor. You can add an I2S capable ADC or DAC on these pins.

Unfortunately, the Linux kernel of the standard Raspberry Pi  does not support devices connected to the I2S pins. Therefore you need to compile your own kernel. Check out the “Noise is good” blog for more information. Hmm, looks like an interesting project for another Raspberry add-on board. We will have a look into this.

4 thoughts on “High resolution sound with the Raspberry Pi using I2S

  1. matuschd Post author

    Hi Torsten, this is a nice DAC that you build. However in my tests I’ve seen, that the major impact of noise is common-mode noise from the ground connection. Did you do measurements? How do you deal with common-mode noise?
    Best regards

  2. Torsten Jaekel

    Hi Daniel,
    yes, what you call common-mode noise might be caused by “ground loops”.
    I know this issue from several other amplifiers, e.g. my tube amp (hum with
    annoying noise sound like sparks).
    To deal with:
    a) it needs a careful PCB layout – avoid long traces, avoid voltage differences on GND pins and traces, use a star architecture to ground things, avoid shared traces (not having feeds like a chain) …
    b) it needs a careful design of the power feeds – star grounding, not grounding on two sides with long, thin traces in between (voltage differences on GND pins and parasitic current between ground planes, also think about to keep analog and digital ground separate and to ground just on one spot
    c) I have solved by using:
    1) a tranformer without center taps and separated coils for all DC feeds
    2) use LDOs with good PSRR (e.g. >80dB at 100Hz, if using a full bridge rectifier)

    Unfortunately, I do not have a noise audio measurement tool (just a regular scope). But I do not hear any hum or noise out from my DAC.

    Sometimes, e.g. on my tybe amp, do not use the common ground on power line (a bit risky, the metal enclosure is not grounded anymore, could create harmful shocks).
    The power ground (the green/white wire, the third connector) is often not really nice (esp. in the US it is very noisy, the resistance on power ground is too high). A tranformer with decoupling properly (e.g. with separate coils, without common center taps) might help as well, like a “common ground free and decoupled” power feed design.
    Meanwhile, there are also decoupled USB adapters (where also the USB signals are decoupled, e.g. via opto-electronics). Such noise (hum) can come also from digital signals (e.g. sometimes I able to hear my mouse movements on laptop).
    Hard to deal with an existing setup. Maybe: look if you can create a star ground. If you can use thick wires, dedicated from different blocks, to connect their ground in addition to the PCB traces to a common star point …

    If it is high-frequency noise, e.g. due to EMC issues – use RF deblocking capacitors (0.1 – 1u with good RF features, e.g. quite small, short connections) or these ferromagnetic shields, rings etc. or DC/AC feeds

    1. matuschd Post author

      Hi Torsten,

      simple noise measurements can be done easily with a computer and a good-quality sound card. The noise I’m talking about is nothing that you can hear. Its magnitude is at less than -80dB. However, if you want to create a world-class DAC, you will need some measurements. Expensive components are sometimes not performing better than cheaper components. I’m happy with the performance figures and the sound of this DAC.



Leave a Reply