Official website for Linux User & Developer
FOLLOW US ON:
Apr
28

Wolfson Audio Card for Raspberry Pi Review

by Gareth Halfacree

Can a compact and low-cost circuit board piggybacked onto the Raspberry Pi microcomputer’s GPIO header turn it into a high-quality audio powerhouse?

Specificatons

Compatibility: Raspberry Pi Model A, Model B Revision 2 Only

Processor: Wolfson WM5102 Codec

Dimensions: 72.2m x 59.1mm x 25.3mm

Weight: 21g

Power: Optional DC power jack

Outputs: 3.5mm amplified headset jack, 3.5mm line-level jack, digital S/PDIF RCA jack, amplified speaker terminals (not populated), expansion header

Inputs: 3.5mm amplified headset jack, 3.5mm line-level jack, digital S/PDIF RCA jack, dual MEMS microphones

The Wolfson Audio board uses the main P1 GPIO header as well as the smaller P5 header.
The Wolfson Audio board uses the main P1 GPIO header as well as the smaller P5 header.

Review

The Raspberry Pi packs a lot of hardware into a sub-£30, credit-card sized package. From its ability to drive Full HD displays without a sweat to its on-board networking and GPIO capabilities, it’s a miniature marvel – but even its most ardent fans would admit that its audio subsystem leaves a little to be desired.
Although digital audio via the HDMI port is acceptable, the analogue audio provided from the 3.5mm jack is extremely low quality. Even when passed through a good-quality external amplifier, the analogue audio is crackly and unpleasant – and there are no input capabilities whatsoever.

Had there been room on the board, a good-quality codec chip could have improved matters immensely. Taking digital audio data directly from the BCM2835 system-on-chip processor, the codec could have driven any number of digital or analogue outputs at an extremely high level of quality.

That’s the thinking behind the Wolfson Audio Card, from the eponymous sound specialist. Taking the form of a piggyback board which sits on the Pi’s general-purpose input-output (GPIO) header, the Wolfson Audio Card provides a significant upgrade to the Pi’s audio capabilities without tying up a USB port.

First, the outputs: the Wolfson Audio board offers a headset connector with amplified stereo analogue audio, a line-out connector with unamplified stereo audio, unpopulated tags for external speakers and an S/PDIF digital connection. On the input side – something the Pi lacks altogether – the headset port supports a microphone, there’s a line-level stereo analogue input, a matching S/PDIF digital input and, most surprisingly, a pair of miniature MEMS microphones directly on the board itself.

All this capability is connected via the GPIO header, but there’s a slight catch: the Wolfson Audio board uses the P5 header, which carries a digital audio signal from the BCM2835. This header was added in the Model B Revision 2 board design, which is shared by the Model A; original Model B units, with 256MB of memory, lack the P5 connector and thus aren’t compatible with the board.

Assuming your Pi is compatible, hardware installation is easy. The P5 connector is unpopulated, so to save soldering the Wolfson board uses pogo-pin connectors – normally associated with temporary connections during electronic testing – that press down upon the bare pads and are secured in place via a screw-in stand-off through one of the Pi’s two mounting holes.

Software installation, sadly, is a little more awkward. The Wolfson Audio board requires patches to the Linux kernel that are not part of the standard Raspbian distribution. Users are left with two choices: manually patching the kernel, or using a prepatched version that lags behind that provided by the Raspbian project. Neither is ideal, and it would be nice to see the patches integrated into Raspbian proper in the future.

When installed, configuration is similarly difficult: the Wolfson Audio board has multiple input and output modes, which are toggled using bundled shell scripts. One script sets the board up to use its digital inputs and outputs, another to use the analogue and still another to enable the headset port. It’s clumsy, but once you’ve set up your chosen configuration the scripts can be ignored.

The audio quality of the Wolfson board is impressive. The WM5102 codec supports high-definition 24-bit master audio at a 192KHz sampling rate. Running 24-bit lossless FLAC files through the board works perfectly, despite the high 5Mb/s bit-rate, and all outputs are crisp and clear. Inputs, too, work well, and the on-board microphone’s useful for adding an audio stream to projects that use the microphoneless Raspberry Pi Camera Module or its NoIR variant.

Verdict

4/5

There’s no denying that the Wolfson Audio Card is an impressive upgrade to the on-board audio capabilities of the Raspberry Pi. The output quality, when given high-definition source files, is crisp and clear and the inputs add much-needed flexibility. Unfortunately, the software fails to match the promise of the hardware and needs a bit more work.

  • Tell a Friend
  • Follow our Twitter to find out about all the latest Linux news, reviews, previews, interviews, features and a whole more.