Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

@geiren
Well, if I see it right, you are using a DAC that cost more than 10000$ and it has builtin Ethernet (Roon Ready).
How does this internal Roon Renderer sound compared to the streamers?
And as you just found out, DIY is a Hobby. It does not make things any cheaper ;)

On the Raspberry side, there a a few things to check:
- is the internal wifi disabled, also bluetooth an the internal sound
- greater ALSA Buffers improve the sound
- run different parts of the renderer on different cpu kernels
- and many more details
You might get an idea when you have a look at soundcheck's - audio@vise: https://soundcheck-audio.blogspot.com

Times ago, I compared a FiFo Pi Q3 direct connected to the RPI versus, RPI -> HifiBerry Digi -> FiFo Pi.
There was an audible difference. This may have changed over time. I don't know.
Now I prefer the FifoPiMa to run the RPI in master mode. In this case, you don't need a FiFo.
You may also want to have a look at the italian clocks. Doede Douma wrote about them in his blog: http://blog.dddac.com

Greetings, Torsten
 
Hi guys. I have recently built a Streamer based on Ian`s cards. I have used Fifo Pi Q7 with SC Pure clocks, HDMI Pi Pro, Pure Pi 2, Ultra conditioner mkII, Raspberry 3B+.
As powersupply I am using av Ferrum Hypsos powersupply. I am also using a copper plate for shielding between Pi and Q7 card.
I compared my streamer to a Mano Ultra mkIII streamer, listened on a system based quality components like Respons Jussi loudspeakers, Mola Mola Tambaqui dac on the I2S input with Audioquest Vodka cable, Mola Mola Kaluga poweramplifiers, PPA stdudio Quad switch, Vibex Granada Platinum Dual DC powerdistributor etc.
My streamer was powered up for 15 hours before comparing the two.
Sadly I found that the Mano Ultra mkIII sounded clearly better. It had larger more threedimensional soundstage, instruments had more natural and fuller sound with more overtones, especially acoustical instruments and voices. Wifi and usb on the PI3 was turned off.
I tried to connecth the copper plate between the Pi and Q7 card, and this improved the sound of my streamer, but there was still a step up to the Mano streamer.
The price of the parts I have used and the Mano Ultra mkIII is almost similar.
As is I consider buing the Mano Ultra instead, but wonder if anyone have tested the difference of a streamer like mine with and without the Shield Pi mkII card? View attachment 1237612
or maybe you just prefer more detailed "Crystek clocks" from Mano Ultra also thick alu. case makes a difference
 

Attachments

  • Screen Shot 2023-11-23 at 1.07.47 PM.png
    Screen Shot 2023-11-23 at 1.07.47 PM.png
    294 KB · Views: 167
Disabled Account
Joined 2002
Hi Eduart...don't be angry with me :), but this is getting too far off topic..
Hello,
I do maintenance on trains. Just a few days ago a train lost a so called pantograph during a no passenger test drive.
Last week a passenger train in Belgium lost a complete carriage.
BUT there is no reason to spend some extra time and money in mounting big ultracaps according to some sensible standards. These things are on 24/7 . So no one should mount them like they would do during a two hour " test drive" with someone present.
In the tube section there is a general warning about the dangers of high voltage but a big number of F at a low voltage can cause serious damage.
Insurance won't pay if they can prove you have written your own safety standards.
Greetings Eduard
 
Domenico of Amanero kindly and promptly helped me by sending an updated ConfigTool.exe, and after reinstalling cpld_1082 / 2006be15r2 there was music!

However, the problem is that all files above PCM96 (including DSD64 etc.) are accompanied by a loud hiss/distortion, exactly the same as what happens with the I2S DAC, so I do not believe the Amanero board to be the problem.

This is disappointing as I built this stack especially to be able to play (at least) DSD256, and bought the 44-rate family SC-Pure clock for that.
Could it be that I have one stock clock and one SC-Pure?

Any pointers where to look for a solution will be appreciated!
Q7 is capable of 768KHz/DSD1024, so normally it's a software issue or the DAC issue.
Can you post a picture showing the system and connections?
 
@iancanada wrote:
Q7 is capable of 768KHz/DSD1024, so normally it's a software issue or the DAC issue.

Can you post a picture showing the system and connections?

Thanks Ian. Below is a picture of the stack: RPi4, StationPi Pro, ShieldPi (mounted on the clean side under the FifoPi), FifioPi Q7, HDMIPi Pro. The stack is powered by PurePi II and UcConditioner.

I think I ruled out software and DAC, as both are able to play PCM384 and DSD512 with other streamers (including an RPi4 based one). Previously I considered
  • weak MCLK u.fl connector
  • ShieldPI (but ruled out as the problem also occurs when I remove it)
  • hybrid clocks (stock and SC-Pure, but don't think so)
  • FifoPi settings (I have not been able to change these as the MonitorPi arrived DOA and I am waiting for a replacement)
  • DSD/MUTE cable between FifoPi and HDMIPi (ruled out as removing it does not change anything)
  • Amanero board (ruled out as, with the help of Domenico, I verified that it can play the DSD without distortion)
  • RPi4 (ruled out as it plays up to DSD128 with my DAC's Amanero)
I do hope that I can get DSD to work... But to end on a positive note: in spite of this, I have no regrets as it was a fun build and even with lower resolution PCM the sound quality exceeds my previous streamers :)

1700815071281.png
 
@iancanada

I have a design revision suggestion for the PurePi board:

When combining this with the RPi computer and want to install it in an enclosure the USB-C connector of the PurePi board will be blocked by the panel of the enclosure if I want to use a linear P/S which is also in the same enclosure.
Unless I decide to have the P/S output to the same panel (by a 5,5/2,1 mm barrel for example) and have a small cable outside the cabinet to feed the USB-C input.
Then of course the panel of the cabinet will need to have a cutout too for the USB-C plug of the PurePi.

An additional 2-pin header or connector / socket on the PurePi would be sufficient to have the option to feed the PurePi from within the same cabinet.

Another option is to find the 5 Vdc solder pads near the USB-C connector (see 4 pads at the underside of the board .. are these usable or are these for the connector housing = GND ?) and solder a cable here to feed via the cable.

Or are there better position where I can attach some additional P/S wiring ?

To make it fit anyway I will need to remove the outer PCB and also remove the ears al both corners.
I guess these have no functional PCB traces ?

Reason:
I have a Saligny rectifier and want to use this with an LT1085 + Noizator to have a super clean "raw" power feeding this into the PurePi.
Even a very good power stage as the PurePi will still benefit from a cleaner external supplied voltage.

1700838105692.png
 
Disabled Account
Joined 2002
Hello Oystein,
Pretty easy to do.
A power supply can only be as good as the weakest link.
Most people here will go for garden hose cables while paying no attention to the area where connections are made. Many times in old gear it will be solder joints causing problems and not a 30 years old quality cap with both its terminals soldered.
Car battery same story it will not be the cable itself causing trouble but the connection at the '' terminal ''
Of course a thick high purity copper or even silver teflon coated cable will impress your friends not a more down to earth solution like the one in the attachment.
Greetings, eduard
 

Attachments

  • 16942744682213486611354689927097a.jpg
    16942744682213486611354689927097a.jpg
    18.3 KB · Views: 108
  • Like
Reactions: 1 user
@iancanada wrote:
Q7 is capable of 768KHz/DSD1024, so normally it's a software issue or the DAC issue.

Can you post a picture showing the system and connections?

Thanks Ian. Below is a picture of the stack: RPi4, StationPi Pro, ShieldPi (mounted on the clean side under the FifoPi), FifioPi Q7, HDMIPi Pro. The stack is powered by PurePi II and UcConditioner.

I think I ruled out software and DAC, as both are able to play PCM384 and DSD512 with other streamers (including an RPi4 based one). Previously I considered
  • weak MCLK u.fl connector
  • ShieldPI (but ruled out as the problem also occurs when I remove it)
  • hybrid clocks (stock and SC-Pure, but don't think so)
  • FifoPi settings (I have not been able to change these as the MonitorPi arrived DOA and I am waiting for a replacement)
  • DSD/MUTE cable between FifoPi and HDMIPi (ruled out as removing it does not change anything)
  • Amanero board (ruled out as, with the help of Domenico, I verified that it can play the DSD without distortion)
  • RPi4 (ruled out as it plays up to DSD128 with my DAC's Amanero)
I do hope that I can get DSD to work... But to end on a positive note: in spite of this, I have no regrets as it was a fun build and even with lower resolution PCM the sound quality exceeds my previous streamers :)

View attachment 1238295

@iancanada wrote:
Q7 is capable of 768KHz/DSD1024, so normally it's a software issue or the DAC issue.

Can you post a picture showing the system and connections?

Thanks Ian. Below is a picture of the stack: RPi4, StationPi Pro, ShieldPi (mounted on the clean side under the FifoPi), FifioPi Q7, HDMIPi Pro. The stack is powered by PurePi II and UcConditioner.

I think I ruled out software and DAC, as both are able to play PCM384 and DSD512 with other streamers (including an RPi4 based one). Previously I considered
  • weak MCLK u.fl connector
  • ShieldPI (but ruled out as the problem also occurs when I remove it)
  • hybrid clocks (stock and SC-Pure, but don't think so)
  • FifoPi settings (I have not been able to change these as the MonitorPi arrived DOA and I am waiting for a replacement)
  • DSD/MUTE cable between FifoPi and HDMIPi (ruled out as removing it does not change anything)
  • Amanero board (ruled out as, with the help of Domenico, I verified that it can play the DSD without distortion)
  • RPi4 (ruled out as it plays up to DSD128 with my DAC's Amanero)
I do hope that I can get DSD to work... But to end on a positive note: in spite of this, I have no regrets as it was a fun build and even with lower resolution PCM the sound quality exceeds my previous streamers :)

View attachment 1238295

@bodiebill

Today, I did a test using the same configuration as yours, just trying to help.
I played 192KHz, 384KHz, DSD64, DSD128 music files, the streamer works like a charm and sound great without any issue.
I tested on D90, Spring3, Ares 12th and R26 DACs, they are all good no problem.
The only thing is that, my HdmiPi Pro uses standard PSAudio I2S over HDMI format, but different DAC may use different format, so DAC has to be set up properly until play correctly.

My configuration:
HdmiPi Pro
FifoPiQ7
StationPi Pro
RPi4
Amanero USB
ReceiverPi Pro II
MonitorPiPro (as StationPi Pro controller to select sources)

I just simply use a PurePi as power supply.

It would be a great help if you can figure out what HDMI format that your DAC is using from the user's manual.
Please let me know.

Ian
 

Attachments

  • IMG_3240.jpg
    IMG_3240.jpg
    886.5 KB · Views: 124
Hi Eduard,

Your picture is not very clear but I can see a black and red wire solderen to a PCB.
Is this a PurePi board ?
The PurePi board on the available pictures looks different so I dont’t recognise the connections / locarion on the board.

My main question was where to connect external P/S wires on the PurePi when not using the USB-C .. not how to connect them.

i don’t have the hardware yet .. I am listed in the latest GB but am working out ideas In advance.
 
@bodiebill

Today, I did a test using the same configuration as yours, just trying to help.
I played 192KHz, 384KHz, DSD64, DSD128 music files, the streamer works like a charm and sound great without any issue.
I tested on D90, Spring3, Ares 12th and R26 DACs, they are all good no problem.
The only thing is that, my HdmiPi Pro uses standard PSAudio I2S over HDMI format, but different DAC may use different format, so DAC has to be set up properly until play correctly.

My configuration:
HdmiPi Pro
FifoPiQ7
StationPi Pro
RPi4
Amanero USB
ReceiverPi Pro II
MonitorPiPro (as StationPi Pro controller to select sources)

I just simply use a PurePi as power supply.

It would be a great help if you can figure out what HDMI format that your DAC is using from the user's manual.
Please let me know.

Ian

Thanks Ian, for looking into this!
My Leaf Audio CMD27 DAC also uses the PS Audio pin layout:
1700907005300.png

Surprisingly, even if the DSD flag on pin 15 is not sent by the streamer, the DAC plays PCM as well as DSD. Only with your stack there is noise on all files of 176 kHz or higher: a soft hiss before the music starts, and then loud static noise/distortion that is triggered by the music.
I just tried again with a direct ethernet connection (to rule out the EtherRegen) but it is still the same.
This behavior is the same whether I use the Amanero board or the internal I2S DAC.
 
@bodiebill

Sometimes I switch off the streamer and later switch on, the clock's led flashing if high resolution music is playing I think there's no lock from the 49.1520MHz clock.
And when I only switch of and on the fifopi q7 separately there is music again.
So I never switch off the streamer.
Mayby because all the boards switch on from the power supply's in my case.
Hopefully this helps for you...

Regards,
Rudy
Edit: you can download the tone test for i2s configuration here:
https://3beb070f-8ca8-434d-b6b3-760...?dn=Channel Test Tone By Jeffrey Richards.zip
 
Last edited:
Disabled Account
Joined 2002
Hi Eduard,

Your picture is not very clear but I can see a black and red wire solderen to a PCB.
Is this a PurePi board ?
The PurePi board on the available pictures looks different so I dont’t recognise the connections / locarion on the board.

My main question was where to connect external P/S wires on the PurePi when not using the USB-C .. not how to connect them
Hello,
This the UC Pi board that only has one five volt output BUT it only needs the same input voltage connected to a tiny USB connector.
Once you see it it will be easy.
Greetings, Eduard
 
@bodiebill

Sometimes I switch off the streamer and later switch on, the clock's led flashing if high resolution music is playing I think there's no lock from the 49.1520MHz clock.
And when I only switch of and on the fifopi q7 separately there is music again.
So I never switch off the streamer.
Mayby because all the boards switch on from the power supply's in my case.
Hopefully this helps for you...

Regards,
Rudy
Edit: you can download the tone test for i2s configuration here:
https://3beb070f-8ca8-434d-b6b3-76002990adfa.filesusr.com/archives/4b933e_3834c98d67e64fecb503a3400164ea1e.zip?dn=Channel Test Tone By Jeffrey Richards.zip
Thanks Rudy. I only use the 45 clock, and the fact that the light next to the clock is bright green and that there is (albeit distorted) music, seems to indicate that there is a proper lock. So I guess I have to look elsewhere to find the cause of the distortion.
 
  • Like
Reactions: 1 user
Does anyone know the fix for this please? I just built a streamer with the following.
PurePi II PSU
Pi 3b running Moode
FifoPi Q7
TransportPi AES

It all powers up fine, and Moode works from my iPad, but from within Moode configuration page I cannot see the Holo May DAC.
I’ve tried connecting the DAC with Toslink and Coax. Of interest is the Toslink cable, as when this is unplugged from the DAC I would expect to see the red led, but there’s no signal there at all.

Many thanks.
 
@iancanada

I have a design revision suggestion for the PurePi board:

When combining this with the RPi computer and want to install it in an enclosure the USB-C connector of the PurePi board will be blocked by the panel of the enclosure if I want to use a linear P/S which is also in the same enclosure.
Unless I decide to have the P/S output to the same panel (by a 5,5/2,1 mm barrel for example) and have a small cable outside the cabinet to feed the USB-C input.
Then of course the panel of the cabinet will need to have a cutout too for the USB-C plug of the PurePi.

An additional 2-pin header or connector / socket on the PurePi would be sufficient to have the option to feed the PurePi from within the same cabinet.

Another option is to find the 5 Vdc solder pads near the USB-C connector (see 4 pads at the underside of the board .. are these usable or are these for the connector housing = GND ?) and solder a cable here to feed via the cable.

Or are there better position where I can attach some additional P/S wiring ?

To make it fit anyway I will need to remove the outer PCB and also remove the ears al both corners.
I guess these have no functional PCB traces ?

Reason:
I have a Saligny rectifier and want to use this with an LT1085 + Noizator to have a super clean "raw" power feeding this into the PurePi.
Even a very good power stage as the PurePi will still benefit from a cleaner external supplied voltage.

View attachment 1238352

You could use an angled usb-C plug:
1700991494130.png