About technologies for your digital home

For beginners and tinkerers

Raspberry Pi Sound card

November 20th, 2014

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.

Upgrade Raspberry Pi Sound 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’.

Upgrade Raspberry Pi Sound card

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:

  1. 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.
  2. 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.
  3. 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.

Upgrade Raspberry Pi soundcard

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.

Raspberry Pi sound card upgrade

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.

Upgrade Raspberry Pi sound card

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.

You can find this card is on¬†Amazon¬†for¬†¬£19.99. Very similar card on the same ESS chip can found on eBay even for cheaper ūüėČ

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.

Upgrade raspberry Pi sound card


Some Conclusions

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.