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

Hi everyone,


I'm looking to build a high-quality streamer and DAC using Ian Canada components, the ESS 9039Pro chip, and a Raspberry Pi 5 as the base. The system should have a pre-installed operating system like Volumio or Daphile, and it must feature a coaxial output independent of the DAC. Does anyone know if there is a detailed guide or step-by-step instructions available for this specific build? Any help or insights would be greatly appreciated!


Thanks in advance!
 
I would start with the Ian boards you're going to use. Download the user guide for each board. There are a couple videos on Youtube, but maybe not detailed enough. I've had many of my projects change design during the implementation process and I had to rethink what options I wanted to include. 🙂 With Ian's boards, you can start small and see how it goes, and then add more features in the future.
 
@JMD3254 and @redjr
Thank you both so much for your replies! I really appreciate the guidance.
I'm completely new to the DIY world and would love to build something without needing to do any soldering—unless it's absolutely necessary for achieving superior sound quality.
Alternatively, is there any way to purchase a preassembled streamer and /or DAC using Ian Canada components? Ideally, I’d love something based on a Raspberry Pi 5 and an ESS 9039Pro DAC.
Thanks in advance for any advice! 😊
 
I'm completely new to the DIY world and would love to build something without needing to do any soldering—unless it's absolutely necessary for achieving superior sound quality.
You can start with a project here - https://iancanada.ca/products/flags...rk-music-streamer-kits?variant=47606889152812 . All components except power supply can be bought in one go. No soldering needed. Folks can then help you with what is needed for power supply. No soldering needed there either(i built one with no soldering). Then as you gain experience with soldering you can do more advanced stuff.
 
  • Like
Reactions: JMD3254
Dddac mk2 4 deck combined with ian Canada products plus an external clock. used a FifoPiQ7ll and transport pi mk2.
only a 3.3v shunt regulator needs to be added to the input Transport pi mk2.
also ordered better cables which I hope to receive tomorrow. sounds very nice.

There is also a simple toslink to spdif coax converter in it, maybe I will replace it with a receiver pi DDC ll.
 

Attachments

  • PXL_20250326_100221189.MP.jpg
    PXL_20250326_100221189.MP.jpg
    463.2 KB · Views: 122
  • PXL_20250326_100242507.jpg
    PXL_20250326_100242507.jpg
    498.8 KB · Views: 121
  • PXL_20250326_100247957.jpg
    PXL_20250326_100247957.jpg
    475.8 KB · Views: 137
Why not feeding the DDDAC with I2S? I think in your setup, by using the SPDIF input at DDDAC, the Tentclock on the DDDAC board is involved and will be the last instance which "reclocks" the digital signal!? I could imagine, that your nice clock / FifoPi combo in front of the DDDAC does not have a big impact then!??
 
I have FifoPiMa connected directly to PRI4 (dtoverlay=hifiberry-dacplus)
When played and measured square 1khz at the DAC output, I noticed a ringing like this:

img_05_out_1000hz_square.jpg


After that, I measured other i2s signals and noticed similar for BCLK(SCK)
img_03_bck.jpg


Also tried without DAC connected measuring at GPIO18 (pulled down with 10k), but looks the same.
Am I doing something wrong or this is normal BCLK signal but dac out ringing coming from somewhere else?

Other i2s signals looks fine I think:

MCLK:
img_01_mclk.jpg



LRCK:
img_02_lrck.jpg


Data:
img_04_data.jpg
 
Why not feeding the DDDAC with I2S? I think in your setup, by using the SPDIF input at DDDAC, the Tentclock on the DDDAC board is involved and will be the last instance which "reclocks" the digital signal!? I could imagine, that your nice clock / FifoPi combo in front of the DDDAC does not have a big impact then!??
in the meantime a direct i2s connection has been made. it sounds very different now. first listen like this for a while to get an idea of what sounds better now.
 

Attachments

  • PXL_20250326_195044173.jpg
    PXL_20250326_195044173.jpg
    407.4 KB · Views: 56
  • Like
Reactions: michl2604
I have FifoPiMa connected directly to PRI4 (dtoverlay=hifiberry-dacplus)
When played and measured square 1khz at the DAC output, I noticed a ringing like this:

View attachment 1440594

After that, I measured other i2s signals and noticed similar for BCLK(SCK)
View attachment 1440595

Also tried without DAC connected measuring at GPIO18 (pulled down with 10k), but looks the same.
Am I doing something wrong or this is normal BCLK signal but dac out ringing coming from somewhere else?

Other i2s signals looks fine I think:

MCLK:
View attachment 1440604


LRCK:
View attachment 1440605

Data:
View attachment 1440606
have you check your oscilloscope probes and terminated the dac output by connecting it to something, like a preamp, and i think your MCLK signal should be a square wave maybe the probes again, not an engineer so those are just my thoughts, and you oscilloscope should have at least a 30mhz bandwidth
 
  • Like
Reactions: ljufa
I have FifoPiMa connected directly to PRI4 (dtoverlay=hifiberry-dacplus)
When played and measured square 1khz at the DAC output, I noticed a ringing like this:

View attachment 1440594

After that, I measured other i2s signals and noticed similar for BCLK(SCK)
View attachment 1440595

Also tried without DAC connected measuring at GPIO18 (pulled down with 10k), but looks the same.
Am I doing something wrong or this is normal BCLK signal but dac out ringing coming from somewhere else?

Other i2s signals looks fine I think:

MCLK:
View attachment 1440604


LRCK:
View attachment 1440605

Data:
View attachment 1440606
Good day,

Square (pre and post ringing) at your DAC output is typical for OS DAC with digital filtering.
For better BCLK square try increasing the series resistance at BCLK at the output of the reclocker.

Nice day
 
  • Like
Reactions: ljufa
Nice, I would be interested in your impression regarding the sound differences
In the meantime I have been able to listen to both clocks.
the neutron gives a slightly richer sound with a nice dynamic and a bit more detail, the right word is perhaps fuller.
the tent XO is a bit quieter and more refined and a bit less pronounced.

of course it is not a day and night difference but you can hear it.
 
  • Like
Reactions: michl2604
For better BCLK square try increasing the series resistance at BCLK at the output of the reclocker.
Tnx for the info I will try that, just not sure where to put that resistor as FifoPiMa is connected to RPI by GPIO header directly. Should it go btw Fifo and RPI or from Fifo to DAC?

Square (pre and post ringing) at your DAC output is typical for OS DAC with digital filtering.
Good to know, after you mentioned it, I was able to find some references ... https://www.diyaudio.com/community/threads/cd-square-wave-pre-ringing-a-filter-problem.6901/