RPi is a great piece of the hardware (e.g. to run XBMC), however Raspberry Pi sound card is terrible 🙁
There are few reasons for that. The first of them is that Raspberry Pi’s output uses PWM modulation, while the second one – it uses only 11 bits 😉 As you might know, CD format uses 16 bits resolution for storing and playing audio. Five bits get lost … Some users of the Raspberry Pi complained about an audible noise from audio output, a similar issue happened with my first unit as well. So in conclusion, if you want connect an external Hi-Fi system with the amplifier, you should consider something better than the internal Raspberry Pi card.
Briefly about DACs and related slang
DAC stands for a digital analog converter. In this post, this acronym can be used either as DAC chip or fully functioning external DAC. You may call it a sound card as well. Normally, the DAC chips are described using few specs:
- audio bit depth (16/24/32)
- dynamic range in dB
- signal-to-noise ratio in dB.
It may sound that that the higher amount of bits (e.g. 24) is better. However, it is not so straightforward :D. In reality, the majority audio studios still produce the sound in 16-bits (there is a lag in renovating expansive audio equipment etc.). Most of different higher resolution sound would be just digitally re-sampled. At this moment, we could just agree that at least 16-bit is a ‘must’.
For the latter parameters the rule The Bigger The Better does apply. Of course, it matters how the vendors performed the measurements. Some of the vendors provide all of earlier mentioned specs in the datasheets, some share only a part of the specifications.
What are the options for a RPi sound card upgrade?
Let’s try to analyze a little bit the options in the market for upgrading the sound card for Raspbery Pi. If you would try to google, you would find more than half million of related results 🙂
There are three types of (budget) products in the market:
- internal Raspberry Pi sound cards, which you can connect directly through GPIO pins. Normally, the RCA connectors are used to connect to some audio amplifier or Hi-Fi system. Majority of those cards are stack-able on Raspberry Pi motherboard.
- another group performs only as a SPDIF interface of RPi, which is used to connect an external DAC. This interface is de-facto standard to connect the external DACs in audio setups of higher level.
- external soundcards, the USB port is typically used for the connection
I will cover 1 & 2 types which I found more attractive because of the price or built-in functions. The 3rd type will be not covered because it looks that there are still some (HW related?) issues with connecting DAC through USB port to Raspberry Pi. You can read more about those difficulties in this blog post.
Internal Raspberry Pi sound cards
One of the options is from HiFiBerry. They have few models for different versions of Raspberries.
HiFiBerry DAC+ is designed for Raspberry Pi version B+, while HiFiBerry DAC is supposed to be used with Raspberry Pi older versions A and B. In both cases, the sound card would be just mounted on top of the Raspberry Pi motherboard.
The card is built on 192kHz/24bit PCM5102A DAC chip from Burr-Brown. According to the PCM5102A datasheet, this chip accepts 16, 24, and 32-Bit audio data. This DAC has 112dB SNR (signal-to-noise) and dynamic range for 32bits audio signal. Burr-Brown brand is well known across the audio DYI’ers including on the Audiocarma forum.
Compatible sound card with Raspberry Pi versions A and B costs €24.90. The price for Raspberry Pi version B+ is €29.90.
Another option is Wolfson Audio Card for Raspberry Pi.
As the name suggests, it uses Wolfson chip, which is WM5102 DSP (digital signal processor) with built-in DAC. The SNR value is 95dB for 24-bit signal for this chip. Unfortunately, the value for the dynamic range was not given in the datasheet. This card has an audio output with RCA connectors, separate SPDIF output and sound card input as well. In addition, there is optional black power supply connector. I think that it’s a pretty good idea to provide an additional power source. You can get this sound card from Amazon as well.
There are some other sound cards in the market which are using ES9023 chip from ESS. According to the datasheet, this chip has a 112dB dynamic range. As you can see from photo, the PCB is not mountable on Raspberry Pi motherboard. The wires will be used to connect to Raspberry Pi.
So, you will have to think on how to assemble everything in one unit 😉
In general, it looks like pretty good circuit is in place for this sound card. E.g. the oscillator (with metallic surface) and low noise voltage regulator chips (black small one) can be seen on the photo. It has golden RCA connections as well 😉
It might be pretty cool upgrade.
Cards having SPDIF interface
Next group of the sound cards are used as a SPDIF interface to connect an external DAC to it.
Earlier mentioned Wolfson Audio card has such SPDIF functionality.
Another dedicated SPDIF interface is from HiFiBerry. You can see on photo, that the filtering transformer is used to isolate a SPDIF output from Raspberry Pi motherboard, which should electrically isolate the noise from being transmitted to an external DAC 😉 Of course after that, still the sound quality will be mainly influenced by an external DAC. The listed price for this SPDIF interface is €29.90.
As you can see, there are quite a lot of different options for a Raspberry Pi sound card upgrade. You should just decide what you want from them 🙂
Personally, I would like to stick with the sound card which would have RCA audio output and SPDIF output for future 😉
There is a second part to this post about enabling ES9023 on OpenElec.