advertisement


Raspberry Pi / Wolfson DAC music player

Andrew L Weekes

Reverse Engineer
Haven't posted for a while so this one might be of interest.

As most will be aware there's a plethora of DAC cards available for the Pi, but in terms of value for money, the original Wolfson (later Cirrus) DAC card has a lot of bang for your buck.

A 24/192 capable DAC, with ADC, built in stereo digital microphones, line in, line out and headphone drive capability, a 2W class D amp and some powerful internal DSP trickery.

Their biggest downside was they originally required a custom kernel and were less easy to implement than some of the simple DAC's. There were two versions of the board, the newer Cirrus board which was compatible with the Pi v3 is now obsolete and an older Wolfson card designed for Pi v1.

Matthias Reichl has written a new reworked driver for the Wolfson / Cirrus cards that doesn’t require out-of-tree patches to the upstream kernel modules. This means the card now works out of the box with Raspbian.

The best bit is the older Wolfson card (£18.76 on the Farnell site and >800 available from stock) which was only compatible with the older Pi's can now be made to work with a Pi3 and above!

There's a lengthy post on this on my website where I made a music player for my desk at work:

https://alw-audio.co.uk/?p=605

I also did some work on the reported sensitivity of the DAC to PSU noise:

https://alw-audio.co.uk/?p=643

Which I then looked to fix in a simple, cheap and elegant way:

https://alw-audio.co.uk/?p=657

I then discovered it wasn't performing at full resolution and discovered there's a noise gate enabled by default:

https://alw-audio.co.uk/?p=669


Then to finish it off, I did a new rear case that I 3D-printed:

https://alw-audio.co.uk/?p=680

zWmh11uX466e6xsUCQIx4cYQL6KbLTdsptUka3iWs6vENsRr_l_Bko5eb5rUVDMIJnE0xZLLUBODnmTuI39JfoN0pVF3O9Vf_2mFGS9FytmGQu0YSJwGoT8Z2sZfg6VcZbD2SuFUAcvNtFHIbs01xcBA2IJsTgjXJchJBF2OIjDNr4yXbgc3nqHLwzU5Kd3LFlwtDZFXE86yGXFYUQgU2w8gXb6vGDpGrNPvSQv3wVKcaauUYhsfZ070t4_xJf-SnxfNx_jQtSGFmHsYDgskRpBV7tJRdu0PyOAEIj6t3-UGe4NV9GX3NBcQ7AZMN0lVm97dRV80-MiaEHb33X5fxORAt43A5E04RKnyUlL0QW-R9QB24fOQ_CYjkVqKkhYcXmRcJC6tBDq8gjAFWhJzlO2bpX4QZW9advSzJ7PvjbpH6TRfZedAfT4KY_zmIplL2KCXlcwSehmLRESrrNlgnF8jSefOM2ySihfMMTzu8PEtDxB2D9dsYK1AW1eMvYG5vN9mk5qR-xxsaCqPvj6REl4HpSoF9WWVK4sTJzaG2CTYod9GXQhrz3V7IH1JZbZs-AD0dFlNVJjxu5Mnmc0v5npPsCn1pHjXWUdC6vBHm0dD3U3nN8Bf09isZqCckwqjaP7GxsPW6NG8lGqfJxuLUNCT0sXECRDGPZQEY6WtD-csUiizzi-4fu9Rk-R1M0rckWEBWR_fMBlHxxcPMCojshWqQw=w1182-h888-no


WQ-0oargHd2VdXOQTLGOFah37mBhm935CtRr9lIhdLgMN1IJ4IhuSoOEOF3NiabLZVPnKAHVQGSKua06rUXuUGqHw64zuTHTNrFVouyQAf2PynuOaTzpf_V3HgnYMHCuf-sLP7gxk7Fudp2OVpYc9jgLMZmTe_lKa2h079nZtam2hV4f9y5WMiIz5IwAn1g8h_6zZje6nPTN6fqpthM9QikSmuqR0i3dPE3XxN9SBFc5_wTfcpX8CndwZS95UFRhvgBqUbjRHhhoJjTuXpYu2Ibq3aa-GrPBPQafj3VNKO1ZI0wt1bXYZ6MtsgnCz2_O5wgPHw00TmQdLXDqvdtQCVx_GlMPc8BOQG3nmN9gmYYG3vcl1ot_6knIMTmi2papVNlezifYwC629uJ3l88uNV6BmOXQZmcd0-BNHV95ZLr5tTM0ZrQtjWC5qQXOJpfaFAM_yL-6q1IB4l2mBukFELZXR_jfe3oGWTvzq2ifeppzWkbVKNQyBFLeOl-82KlcAp0Rg80-LJ5BeQQs5tbO2ymlLiV_UbKFfaIKcP-3I429Bhzrcm4gTEtrLHqkDOrrW1WTq-Se6YSTXng-BPSbVi0_D6GhLj82YiKM1Cob9bT1owWfox0lW6VESvA22_uGDlTtJ9gVN0LdJBYpsob9wWNIm5-R4kMA4WouCWVWXGvNJoLMs1PMPxSZhRN4bjf-juBNwovBuc23OLSciUx_WdLhEQ=w1184-h888-no
 
Re; the PSU noise.

The HiFIBerry Dac+ Pro can be altered (by removing a link(*)) to accept 5V direct to the analogue section of the DAC board, instead of having to derive its power (via a reg) from the Pi 5V rail.

The Pi rail is ALWAYS going to be a little dirty (even if the PSU is clean) - there's a powerful computer attached to it...

Could a similar separate DAC-PSU connection be implemented/wired for the Wolfson (and how would one make a REALLY clean PSU, I wonder... :))

BugBear

(*) to be accurate, it's a SM zero ohm resistor
 
I cobbled this together yesterday and my first impressions are that it's an amazingly clean and detailed DAC. Mind you I've been using a linear power supply cobbled together out of an old supercap board in a tracking pre-regulator configuration. So far I only have a single clean 5v supply but I imagine it only gets better when I clean up the DAC's supply with a gyrator.
 
They're great aren't they, especially for the money?

I really enjoy having an HD music player (currently with a 1TB USB drive attached full of HD music) on my desk. I would think that the linear PSU helps a lot here, I have a plan to make another unit, in a larger case, which will isolate the DAC using a dedicated shunt regulator, which I think is probably the best way to really get the optimum performance.

Andy.
 
Would this work with Volumio?

I'm using Moode v5. It already has the correct Linux kernel. All I had to do was to modify a couple of config files as per Andrew's blog, and when rebooted it just worked. Even in my stock config there's next to no noise on the output.

A note for anyone else doing the card mod for an RPi 3 - those pogo pins are a pain to remove. You ideally also need some very fine wires for soldering to the old pads. My wire was too thick and in dressing the cabling it pulled the pads off. Luckily there are a couple of 0 ohm resistors next to them I could use instead which rescued my bodge. If I did this again I would definitely just cut the pogo pins short, remove the springs then use those as a ready hole for soldering into for the wire tails.
 
By the way, if anyone has old Naim SNAPS, Hicap or Supercap boards from a TPR or similar upgrade they're relatively easy to turn into a tracking pre-regulator with LED voltage sources for +5v USB use.

Edit: I have a small number of modified Supercap boards I can part with. I'll put these in the DIY classified board.
 
Last edited:
Some interesting info above re. the Wolfson dac.
Does anyone know whether the Wolfson card is a slave or master dac hat btw?
I would like to know if the Allo Kali (which needs a slave dac) is compatible with the Wolfson in standard config.
Has anyone tried this combo with good results hopefully?
 
I think this idea has had its day. The cards are no longer available - mine fell to bits after my bodged soldering attempt and for someone who never throws things away I can't currently find it. I've been using a Justboom DAC with dedicated rails and Moode, and that just works.
 
I think this idea has had its day. The cards are no longer available - mine fell to bits after my bodged soldering attempt and for someone who never throws things away I can't currently find it. I've been using a Justboom DAC with dedicated rails and Moode, and that just works.

I agree, it was a fun project, but plenty of alternatives out there now. Justboom stuff is great, I built a digital out unit to drive the Chord Mojo with one of their cards, even the IR remote control works a treat.

I still have a couple of cards in use, my son uses one as a headless squeezebox for bedtime listening.
 
I have been running mine on piCorePlayer for a long while.

Sadly updating from pCP v 6.0.0 to v 7.0.0 rendered it mute.

I asked over on the slimdevices forum for assistance several times, but the response was also mute.

Now running Squeezelite on the Raspberry PI OS Buster Lite

cirruslogic.png


ronnie
 
Yep.. understanding this is quite a bit of an old piece of gear, and might be difficult to find out whether it is a master or slave dac hat.. anyone knows hopefully the answer? Thanks
 


advertisement


Back
Top