Hifiberry DAC+ Pro - HW mods anybody?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Maybe - I haven't check it out yet but my rough understanding was that the clocks create MCLK which is passed to the Pi which then returns BCK, LRCLK, DATA (I2S signals) that are passed to the PCM5122 DAC. We are just hijacking those inputs so no PCM5122 required unless there's something else going on?
 
Maybe - I haven't check it out yet but my rough understanding was that the clocks create MCLK which is passed to the Pi which then returns BCK, LRCLK, DATA (I2S signals) that are passed to the PCM5122 DAC. We are just hijacking those inputs so no PCM5122 required unless there's something else going on?

Oh... interesting, didn't know that. Thought the PCM5122 controlled it.
 
Hi Alex,

Wow, you're really set up to hear changes! Do you describe that Dac somewhere else? Very interesting looking...

Are you happy with those 0.8uV power supplies? I have some of those on order for my Digi+ and to play with on the D+Pro. Instead of those r-cores went with 25W Telema's (any thoughts on transformers?)

So that's interesting on the NDK's!

I think the best thing for us to do on the 384K to start is talk to the right people that did the patch & can get a PR going in the official linux github. It should be there for completeness anyway.


Hello Scott,

Yes, my setup is very revealing. The DAC-Built starts at the post below:
Melodious MX-U8 USB Interface 8 Core XMOS chip - Page 36

I love the 0.8uV ultra low noise psu's, they are sounding quite good!

I think R-Cores, the shielded versions with copper shield/antistatic shield and earth wire are best for this kind of application. Talema's are not bad at all, but not as good as R-Cores.
 
My only reservation on your "Monster DAC" is all those "ultra quiet" 0.8uV supplies must be sitting in a powerful magnetic soup from all those transformers!

Hi Scott,

Everything is shielded, used separate wooden subchassis R-Cores/psu's/emi-rfi filters and separate wooden subchassis for DAC pcb. They are isolated from each other. All wood has been shielded with copper. R-Cores are all mounted in anti-vibration rubber feet. DAC is dead quiet, lots of blackness :D


I will shield dac and rpi/dac+pro with copper when putting rpi in enclosure.
 
Member
Joined 2003
Paid Member
Maybe - I haven't check it out yet but my rough understanding was that the clocks create MCLK which is passed to the Pi which then returns BCK, LRCLK, DATA (I2S signals) that are passed to the PCM5122 DAC. We are just hijacking those inputs so no PCM5122 required unless there's something else going on?

Hey Bruce, great work.

But you won't be able to remove the PCM5122. As Scott says, the DAC chip is critical to the generation of the I2S stream.

See here for more discussion of the limitations of the R-Pi, which is that it cannot directly take a master clock signal from an external source:

https://hifiduino.wordpress.com/2014/11/13/raspberry-pi-b-digital-audio/

In the absence of a master clock input, the I2S feed is generated based on the 19.2Mhz on-board clock and if the driver allows various sampling rates, it produces the correct sampling rate output, but does so based on a fractional division of that 19.2Mhz clock signal via PLL in the on-board processor, producing all the jitter you might imagine from that process.

But the R-Pi CAN accept a 'bitclock' input. HFB leverages this and also the 'master/slave' mode of the PCM5122 (see the DAC's datasheet), where external clocks feed the typical 22/24 Mhz clock signals into the DAC and based on what sampling rate family the driver is calling for, the DAC uses its internal PLL to generate a bitclock signal which is sent to the Pi, where the driver uses that as the sync signal for generating the I2S output.

Making this work requires all of these components:

1. The Pi.

2. The 22/24 Mhz clocks

3. The PCM5122 set in 'master/slave' mode.

4. The HFBD+P driver which enables and uses this functionality.

5. U3 on the DAC board where part of what it does is tells the driver which of the HFB DACs is being used and allows the driver to operate in the correct mode.

Note that as the driver handshakes with the DAC board (via U3), this makes the driver and this setup proprietary to the HFBD+P. OTOH, I believe the driver is open source and the code is available, so others could leverage it.

OTOH, not powering the 5v side of the PCM5122 MIGHT be a useful thing. I doubt trying that will hurt anything and if it doesn't work, I suspect the only problem will be you don't get I2S out for you external DAC. I'm not sure it will gain much either, but at least simplify your setup if it works ok. And if it breaks the DAC card, you are only out $45!

Greg in Mississippi
 
Member
Joined 2003
Paid Member
This is very interesting to me. I'm trying to learn more on the topic and I read some old comments by Swenson concluding that" filtering in software gave the best of both worlds, it still had the richness and aliveness, but was clean."
RE: Question about DSP and Filtering - John Swenson - Computer Audio Asylum

Is that still the thoughts on the topic on software filtering vs DAC chip? Do you also hear a difference in your setup when bypassing the filters? I'd appreciate some input or if someone has some links to where this is discussed in detail.

Btw: thank you all for sharing your progress.

Odal3

Good work tracking down those posts of John Swenson on filtering in the CA forums. Also see comments by John and his business partner Alex Crespi in both the Bottlehead forums (he designed a DAC for them) and the Squeezebox forums.

But while John AFAIK has most clearly explained why off-DAC chip filters can be better than the ones built into EVERY fairly modern DAC chip, many others understand this and are using it in their products such as Chord, Schitt, and PS Audio. It is also used by a number of Computer Audio DIY'ers where they use the alternative filters available in HQPlayer (considered by many to be the best-of-breed tool for generating custom filters) to upsample and feed to their DACs or in some cases upsample to 256 or 512 DSD & convert that to analog without using a DAC chip altogether (see here: http://www.diyaudio.com/forums/digital-line-level/273474-best-dac-no-dac.html ). Also, Sonore sells a DIY-focused USB->I2S adapter that includes on-board filtering in an FPGA and designed to allow bypassing of the OSF of the ESS DACs. And finally, the Soekris DAM R2R DIY DAC board has on-board filtering which can be updated and users of that device have found significant gains with filters other than those provided with the DAC.

And I am sure there are more.

So it is becoming a more common understanding that using off-chip filters can produce gains.

OTOH, I am not sure that anyone (at least here) has done that with the HFBD+P as yet. I believe Soundcheck is the closest to being able to do that after having enabled 384 output on his setup, but as it requires a custom kernel, most of us won't be following in his footsteps.

Hopefully someday the right combination of patches and tools become available to do this (HFB & PiCorePlayer people, are you listening?)... I know John Swenson has a great deal of respect for the TI PCM51xx series of DACs and used the PCM5142 in his Bottlehead DAC design doing just this. And he developed and tuned the filter using the SOX upsampling / filtering tool available in the Squeezelite/LMS setup. I expect we can get similar gains from the related PCM5122 in the HFBD+P once we are able to experiment with alternative filters on the HFBD+P.

Greg in Mississippi
 
Member
Joined 2003
Paid Member
Hi Scott,

I am using a double Diyinhk 0.8uV ultra low noise psu, 1x3.3V 1x 5V to power the DAC directly, cut off the 5V and 3.3V.

I only use I2S output. Sounds amazing in my "Monster DAC" :D

The NDK's sounding better, definitely, overall, after a little burn-in time.
You would be amazed what even a new soldered wire does in a "burned-in device". It all is noticeable!

When building my dac, I had to add a tenth R-Core transformer for powering
isolated XMOS I2S module, I added this 10th R-Core transformer and a tenth
netfilter. When listening to it THE MAGIC WAS GONE.

Picture: https://drive.google.com/file/d/0B5ivzpgUT3UYU0tMLVdnQ0NodFk/view?usp=sharing

After a few days constantly running it came better and better, and finally it
sounded better than before.

EVERY mod has to "burn-in".

The NDK's are not worth the troubles btw, but they do sound better.
Every little step helps :cool:

Btw, would love to see the 384K patch for PicorePlayer which I use with LMS.

VERY Impressive setup. You are a DIY'er after my own heart. I'll have to go peruse your build on that thread.

BTW, where did you get the R-Core transformers? I'm looking for a good source.

I agree with you on break-in. In my experience anything with either conductors or insulators (capacitors!), so basically everything in our setups, breaks in, some as quickly as a day, with my champion laggard being my NC400 amps which to my ear took several months before they finally settled! Black Gate capacitors and ceramic capacitors also take awhile, both needing at least two weeks of play time before I notice no additional changes in sound. Anything with Teflon in it also takes a long time. And I suspect there are additional break-in mechanisms where tubes are involved, which typically take about a day of on-time to settle.

Greg in Mississippi
 
Member
Joined 2003
Paid Member
Hope this isn't hijacking the thread, but I'm interested in building my own linear PSU for a RPi and HiFiBerry combo. I've drawn up the following based on a few circuits out there. It's only $21 in materials, and I think the performance should be quite good. Any thoughts or suggestions?

6J0yZLs.jpg

Illinimdg,

Sorry for not responding earlier.

I have a couple of thoughts on this...

1. The LM350 regulator is nothing special and there are better ones available today which will have better performance at high frequencies which is CRITICAL for digital circuits. The one that I've used that has the the current capacity to run a R-Pi/HFB DAC combo is the LT3083.

2. The raw DC supply is as if not more important than the regulation chip and circuit. A 7.5vDC wall wart will not be a good DC source. The only comparable small setup currently available that uses a wall-wart switching supply I know of that is considered good is the iFi one, but they are basically sold as complete supplies and not cheap.

An alternative is the K&K Audio Low Voltage 12 watt supply which he sells in kit form for $48 here: K&K Audio | Other kits. I currently use 5 separate supplies of this configuration, either modified K&K supplies or DIY'd ones of a similar configuration, to feed my R-Pi, this small Zotac micro-computer I use for my LMS server (Amazon.com: Zotac ZBOX ZBOX-PI320-W2 Desktop (Black/Silver): Computers & Accessories Amazon.com: Zotac ZBOX ZBOX-PI320-W2 Desktop (Black/Silver): Computers & Accessories ), a network switch, and a wireless router, with a couple of supplies as spares for future additions (such as a larger storage drive... right now I use either a 128Gb or 256Gb SD card to store music in the Zotac, but that only holds less than a quarter of my rips).

There are better options, but I consider this supply as sold by K&K to be a minimum DIY supply for these applications.

Greg in Mississippi
 
Last edited:
Hey Bruce, great work.

But you won't be able to remove the PCM5122. As Scott says, the DAC chip is critical to the generation of the I2S stream.

See here for more discussion of the limitations of the R-Pi, which is that it cannot directly take a master clock signal from an external source:

https://hifiduino.wordpress.com/2014/11/13/raspberry-pi-b-digital-audio/

In the absence of a master clock input, the I2S feed is generated based on the 19.2Mhz on-board clock and if the driver allows various sampling rates, it produces the correct sampling rate output, but does so based on a fractional division of that 19.2Mhz clock signal via PLL in the on-board processor, producing all the jitter you might imagine from that process.

But the R-Pi CAN accept a 'bitclock' input. HFB leverages this and also the 'master/slave' mode of the PCM5122 (see the DAC's datasheet), where external clocks feed the typical 22/24 Mhz clock signals into the DAC and based on what sampling rate family the driver is calling for, the DAC uses its internal PLL to generate a bitclock signal which is sent to the Pi, where the driver uses that as the sync signal for generating the I2S output.

Making this work requires all of these components:

1. The Pi.

2. The 22/24 Mhz clocks

3. The PCM5122 set in 'master/slave' mode.

4. The HFBD+P driver which enables and uses this functionality.

5. U3 on the DAC board where part of what it does is tells the driver which of the HFB DACs is being used and allows the driver to operate in the correct mode.

Note that as the driver handshakes with the DAC board (via U3), this makes the driver and this setup proprietary to the HFBD+P. OTOH, I believe the driver is open source and the code is available, so others could leverage it.

OTOH, not powering the 5v side of the PCM5122 MIGHT be a useful thing. I doubt trying that will hurt anything and if it doesn't work, I suspect the only problem will be you don't get I2S out for you external DAC. I'm not sure it will gain much either, but at least simplify your setup if it works ok. And if it breaks the DAC card, you are only out $45!

Greg in Mississippi

Hey Greg, thanks for the excellent detailed explanation - I now understand what is happening :) @Scott you were right!

This is the only HAT on the market using this approach and hopefully more or improved boards will follow as using the RPi for clocking is flawed from the start as you explain. :rolleyes:

Not convinced on the risk / return on dropping the 5V side so I might enjoy the tunes for a bit :p

Certainly sounds great and in my opinion superior to the WaveIO which is probably the best of breed USB I2S interface if that helps anyone considering moving to RPi I2S.
 
Last edited:
Hey Greg, thanks for the reply! Yeah, I wondered if the wallwart wasn't up to snuff. You wouldn't happen to have a schematic you'd be willing to share for the LT3083? I'd prefer to DIY if I can, if only because I'm cheap. ;) If not, I'll have to strongly consider the K&K offering. Thanks, and cheers~
 
Member
Joined 2003
Paid Member
LOL... you mean buying a schematic, a board, and a bag of parts is not DIY enough for you? I've checked, you can't provision his kit for much different than he charges for it (the magic of quantity discounts!).

Tell you what... I respect Kevin's work on behalf of DIY'ers and don't want to give away Kevin's tricks in his supply (I know of two in there), but if you get one I'll let you know what I do with my version of his (which is mostly different caps for hopefully more and better filtering).

Let me know.

In the meantime, a bit more adventurous supply, but IMHO better one, is John Swenson's choke-filtered supply, which is the predecessor of his almost $1k JS-2 supply from Uptone Audio. He had published it several places, so I have no issues sharing it here. If it were me, I'd build it as-is except replacing the LT1085 circuit with the LT3083 circuit from the datasheet.

Greg in Mississippi

P.S. Where in northern IN? I grew up in Fort Wayne and still have family there.
 

Attachments

  • PCPS.gif
    PCPS.gif
    10.8 KB · Views: 389
Member
Joined 2003
Paid Member
Hey Greg, thanks for the excellent detailed explanation - I now understand what is happening :) @Scott you were right!

This is the only HAT on the market using this approach and hopefully more or improved boards will follow as using the RPi for clocking is flawed from the start as you explain. :rolleyes:

Not convinced on the risk / return on dropping the 5V side so I might enjoy the tunes for a bit :p

Certainly sounds great and in my opinion superior to the WaveIO which is probably the best of breed USB I2S interface if that helps anyone considering moving to RPi I2S.

Welcome. Glad it helped.

And the reason I got this board first is the same as what you state, it is the only one currently available that does this clocking. OTOH, the SabreBerry32 mentioned elsewhere in this thread also appears to do a similar scheme with much better clocks, but for a price. Apparently, the ESS SABRE018Q2C seems to support a similar clocking scheme.

I prefer direct MCLK feed devices like the BeagleBoneBlack, but the R-Pi is the device with all the software options available... the law of increasing returns!

I've been a fan of using I2S feeds to get the music signal from computer players since using an ESI Juli@ as the output device in a motherboard-based cMP/cPlay player back in 2008 or so. While there have been significant gains in understanding how to deal with the issues of USB in the last year (starting with the Uptone Audio Regen and now several others), I have always been of the mind that not creating noise in the first place is better than working to eliminate and filter it away afterwards. Losing all of the additional circuitry and processing needed to make USB work makes perfect sense to me... and I remember hearing the difference on my cMP/cPlay setup when I first disabled USB and heard the difference that made. If it just wasn't the defacto output mode... DANG!

I agree on the likely small returns on turning off the 5v to the DAC chip even if it works ok, not being worth the also likely small risk... I'm glad you caught that in my reply.

And finally, for all its warts, I have gotten some good setups running using the R-Pi as a player source and working on some additional ones now.

Greg in Mississippi
 
Welcome. Glad it helped.

And the reason I got this board first is the same as what you state, it is the only one currently available that does this clocking. OTOH, the SabreBerry32 mentioned elsewhere in this thread also appears to do a similar scheme with much better clocks, but for a price. Apparently, the ESS SABRE018Q2C seems to support a similar clocking scheme.

I prefer direct MCLK feed devices like the BeagleBoneBlack, but the R-Pi is the device with all the software options available... the law of increasing returns!

I've been a fan of using I2S feeds to get the music signal from computer players since using an ESI Juli@ as the output device in a motherboard-based cMP/cPlay player back in 2008 or so. While there have been significant gains in understanding how to deal with the issues of USB in the last year (starting with the Uptone Audio Regen and now several others), I have always been of the mind that not creating noise in the first place is better than working to eliminate and filter it away afterwards. Losing all of the additional circuitry and processing needed to make USB work makes perfect sense to me... and I remember hearing the difference on my cMP/cPlay setup when I first disabled USB and heard the difference that made. If it just wasn't the defacto output mode... DANG!

I agree on the likely small returns on turning off the 5v to the DAC chip even if it works ok, not being worth the also likely small risk... I'm glad you caught that in my reply.

And finally, for all its warts, I have gotten some good setups running using the R-Pi as a player source and working on some additional ones now.

Greg in Mississippi

Yep, hopefully someone will produce a dedicated I2S only HAT in the future employing a high spec MCLK, BCLK generator thus allowing DAC of choice integration (either slaved or onboard PLL). Lucian, Deode, Russ? :shy:
 
Well, now I'm a bit embarrassed! Granted, I couldn't exactly do a BOM cost roll-up off the picture; I've just seen kits like that have some rather high markups, which seems odd for the market (being DIY and all). But if you say the K&K kit is well-priced, then I'm happy to patronize him. If you don't mind dropping me a PM with your mod tricks, I'd be grateful!

As for the Swenson PSU, is it this one?

An externally hosted image should be here but it was not working when we last tested it.


If that's not the one you had in mind, would you mind posting it as well?

Also, since I joined this discussion, I've begun wondering if it isn't worth jumping to the ODROID C2 — faster processor, twice the RAM, faster ethernet, and eMMC memory. But I haven't found any reviews of the HiFi Shield that appears similar to the HiFiBerry. Does anyone have any experience with it to compare with the HiFiBerry?

Lastly: small world! I went to high school in FW many moons ago, and my folks (now retired) still live there. I now reside in the South Bend area. Thanks again for your help. Cheers~
 
Member
Joined 2003
Paid Member
<SNIP>But if you say the K&K kit is well-priced, then I'm happy to patronize him. If you don't mind dropping me a PM with your mod tricks, I'd be grateful!

Willdo.

Do remember you are also buying some IP... he has a couple of useful tricks in his setup.



As for the Swenson PSU, is it this one?
<SNIP>
If that's not the one you had in mind, would you mind posting it as well?

LOL! You didn't like the one I posted already?

Yup, that's the one. It is very good. Better than the K&K, but for about 2x the cost and space due to the choke.



Also, since I joined this discussion, I've begun wondering if it isn't worth jumping to the ODROID C2 — faster processor, twice the RAM, faster ethernet, and eMMC memory. But I haven't found any reviews of the HiFi Shield that appears similar to the HiFiBerry. Does anyone have any experience with it to compare with the HiFiBerry?

I agree in principal. I have a couple of BeagleBoneBlacks which CAN take the MCLK directly, which makes them a better generic I2S source for any DAC chip. And I've heard some good comments on the Odroid, particularly from the Mamboberry DAC people.

BUT (and it's a BIG BUT), the R-Pi has won in the marketplace of SW, Distros, and HW. While you can get good SW for the BBB & Odroid, there's much more available and much more work being done in the R-Pi space... law of increasing returns, those that gots markets share get more! And when the BBBs and Odroids are obsolete and gone, I bet you'll still find R-Pi's and related SW/Distros/HW.

Also hunt for John Swenson's comments on the CA forums on his experience with eMMC memory and why he went with the SD card as the boot source on his new uRendu design (which I see as a design tour-de-force... for anyone using a USB input to their DAC, virtually anything else out there right now will be like using your computer motherboard's sound card circuitry while the uRendu is like a crazily-well-designed no-compromise separate DAC. Oh, and one that costs a fraction of the comparable units in that space. Pity the iMX6 processor HW limitations of a max-sampling-rate-output of 192 prevented him from leveraging the design into an I2S-out version... I'd be lining up for that, R-Pi popularity be darned!).

After reading his comments on eMMC, I don't feel any lack in that the Pi doesn't have that... and no longer plan to use that on my BBB setups.



Lastly: small world! I went to high school in FW many moons ago, and my folks (now retired) still live there. I now reside in the South Bend area. Thanks again for your help. Cheers~

I went to Concordia HS and graduated in '74. Which and when you?

I remember driving through South Bend a number of times on the way up to Michigan to camp and hang-glide at the Warren Dunes... wild days those!

You are welcome!

Greg in Mississippi
 
Member
Joined 2003
Paid Member
Greg,

Thanks for taking the time to explain! Much appreciated!

From another current Indiana resident (but my HS was located on the other side of the Atlantic)

Glad that was useful.

Maybe we'll have to plan a reunion at illinimdg's place in South Bend to bask in the fruits our labors once we get these beasts whipped into shape. Of course, it's a bit of a slog for those coming across the Atlantic!

Greg in Mississippi
 
VERY Impressive setup. You are a DIY'er after my own heart. I'll have to go peruse your build on that thread.

BTW, where did you get the R-Core transformers? I'm looking for a good source.

I agree with you on break-in. In my experience anything with either conductors or insulators (capacitors!), so basically everything in our setups, breaks in, some as quickly as a day, with my champion laggard being my NC400 amps which to my ear took several months before they finally settled! Black Gate capacitors and ceramic capacitors also take awhile, both needing at least two weeks of play time before I notice no additional changes in sound. Anything with Teflon in it also takes a long time. And I suspect there are additional break-in mechanisms where tubes are involved, which typically take about a day of on-time to settle.

Greg in Mississippi

Hi Greg,

Yes, we are on the same boat :D

I got the R-Cores and the filters from Taobao.

R-Cores:
https://world.taobao.com/item/38455811761.htm?spm=a312a.7700714.0.0.xN4yQ2#detail

This probably is the manufacturer:
http://ecehf.cn/

These R-Cores are made from OFC copper, connection wires aren't, they
even feel a little cheap. These perform great. Have to ask for static shield/copper outer shield /earth wire when ordering.

Filters:
https://world.taobao.com/item/36513...086&pvid=2d41368f-cbab-4fec-b49f-580e00143f9c

These are great EMI/RFI filters!!!!! And, cheap as H.LL :D

There are many agents who helping with ordering at Taobao at a small fee.
I think it's best to use them. I got all those materials from a Chinese forum member at Head-Fi. He helped me a lot.


Cheers :)
Alex
 
Last edited:
Ok folks.

Pretty much focus on power supplies these days. ;)
I still use very happily my iPower and have no intention to change that!

That gives me some space to dig into the SW side again.

I made a 180° turn and switched from my own Arch Linux installation with realtime kernel, tweaks... to PiCorePlayer.
Many people who prefer the squeeze universe over MPD based stuff are using PCP.
I wanted to see how much potential PiCorePlayer as serious audio base really has.
I mentioned earlier that I consider the base system an average quality playback engine.
This was my conclusion after quickly looking and listening into it some time ago.
The base PCP installation was 2D and showed limited separation and depth. Details and dynamics -- Gone.
But that's the A/B comparison to my own reference setup. That doesn't mean that it is worse then others!
And "Average Quality" is of course a relative term. It really depends on your experiences and expectations.
What I'm saying is. There's space for improvement for those who want to squeeze the last drop out of everything.

TinyCore Linux the base of PCP is not my favorite Linux flavor.
It's that much stripped down that every 2nd turn puts you in front of a wall.
I actually needed some support of the PCP folks to get going without major efforts.
That's what I did. It still took me a couple of days to get going.

Meanwhile I managed to apply several of my known configurations and tweaks.
Introducing my own squeezelite binary is still kind of complex, I'm working on it.
Introducing my own kernel would be a major project. Their kernel is one of the key
issues I have with PCP.
They use a base 4.1 kernel with none of the patches we discussed earlier in place.
They also use a slow and rather fad base TinyCore default kernel config. Hmmmh. No good.
Bottom line -- the PCP kernel I consider pretty much the biggest challenge of the project.

As a result of all my efforts until now - I'd like to say though,
that my tweaked PiCorePlayer installation sounds already damn good.
Considering that I still see space for improvement - the whole project seems to be worth the efforts.

I also wanted to verify my findings against another system and another ears.

Guess what!?!? Surprise, surprise. Greg volunteered!

I sent him quite a basic configuration instruction for one of my easy-win tweaks.
A simple copy/paste action of some commands via ssh.

From what I understood, he is planning to leave that configuration in for now.
That's a good sign I guess.

I told him that this would be the tip of the iceberg.

I'll keep you posted.

As soon as things stabilize I'll post this or that tweak.


Enjoy.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.