Raspberry Pi I2S Ian Canada

Hi all,

I’m running a Raspberry Pi4 with Ropieee, it plays DSD512 files via USB to my DAC no problem. It (The Pi4) is also running Ian Canada FIFO Pi + I2S HDMI Transmitter boards supplying I2S to my DAC. I have tried various HAT drivers which in turn ‘unlock’ different bit rate/depth capabilities within Roon and sound is great (some drivers don’t work as the selected HAT isn’t connected).
It doesn’t seem to handle DSD256 or DSD512 via I2S though - it starts playing then halts after about 10 seconds. It would be great if there was a HAT agnostic driver allowing configuration of certain parameters…? Is anyone running similar Ian Canada hardware? If so, how are you configuring things?


1 Like

I gave up with Ian’s boards…was trying to make it work with a soekris dam1021 via I2S but ended up just direct off the rpi pic pins to the soekris

And direct is good for high rate DSD?

I never got dsd working…seldom used and recently got an xmos usb - I2S board to use in between the rpi and the soekris

I have 2 of Ian’s boards and the daughter boards if anyone is interested to buy them can pm me

I’ve got everything working, upto DSD128. Sounds fab. Basically have USB and I2S configured as two different devices in Roon but feeding the same DAC so I can switch between them on the fly / compare files etc…
DAC sounds good and sound very locked in feel to it, very happy.

1 Like

Maybe will revisit…what rpi os? Ropieee still?

Yep and Audiophonics HAT selection within Ropieee GUI provides best sample rate / bit depth range while not actually having a DAC hat fitted.
What IacCanada boards do you have?
Be good if IanCanada came up with a driver that mapped Pi & his Board capability…

It’s the ISS and daughter board…I’ll try and dig them out and see if I can list the exact details

I use FIFOPi Q3 with reclocker Pi and transmitter MK2. I use Audiophonics QSabre driver in Ropieee and have 384 PCM and DSD128 (DoP) with Rockna WD DAC. In Ropieee the driver is glitchy. I have to restart the RPI from time to time. In Moode with the same driver is stable and runs without issues. I only use Ropiee as it has the Signalist NAA embedded (Moode does not) and I test several filters with it.

I would love to see a generic driver for RPI that allows higher capabilities or that can be generic tuned for external DACs connected over i2s LVDS with max RPI supported capabilities. I am not a specialist but it is kind of strange that nobody thought/implemented one so far (the “generic HAT” - Raspberry PI DAC is limited to 24/192 and DSD64 as far as I am aware). Also native DSD is implemented over USB only (no i2s LVDS support - also as far as I am aware)

PS: What case do you use? Did you use CAD for customizing it? If so would you mind sharing? (planning a very similar approach but with stationpi pro)

1 Like


Same re hardware, driver and spec’s achieved. I’ve not really had any issues with Ropiee though - I like it for it’s simplicity and logical operation.
Totally agree with the Pi driver scenario, I’m not sure what Pi4’s maximum capabilities are but hopefully it could match its USB capability in regard to audio streams via I2S, then would be great if someone could write a driver allowing discrete setting of processor clock, stream sample, depth reates etc.

My case is an empty shell from an Innuos server to match my Innuos Zenith III and everything was made one off to suit. I laid everything out 1st, transferred the support post hole locations via measurement then drilled and countersunk the screw holes. Bought all matching black machine screws so even from the underside, it all looks ‘factory’ I also machined an aluminium block to sit between the Pi processor and case so the case acts as a heatsink… its been playing all morning (stays on 24/7) and is at 33 degrees (C)

I have only tried one other transport in place of it and found it a bit ‘thin’ & ‘treble’ sounding… very happy with this unit, as you can see, half the case is power supply and I think that plays a big part. I’ve also put a filter on the Pi USB. A bit subjective but seems to give the sound a more locked in feel - if I listen to it with the filter removed it sounds different - I’m not sure how to describe it, on some recordings, the audio just stands out more - maybe a noise thing?

Anyway have been thinking about doing another version and exploring non Pi SBC hardware but don’t have the time at present…

I’m currently feeding it into a Holo Spring 3 and the soundstage for one thing is amazing!


1 Like

Hi, I’m interested in fifipi 2 or 3 if you have one. I can’t pm you though, says your profile is hidden

That was some back, going to keep them for now. Not sure if anyone on the threads where Ian hangs out still has anything to sell.

If I might add… I’ve been using a variety of Ian’s DAC products, and have not had any issues - for over a 2 year period. I primarily use Ropieee, but have tried DietPi, as well as VitOS all with great results. The DAC overlay (Ropieee GUI) that is fairly universal is the HiFiBerry DAC+, and I believe Ian recommends it for his products. I’ve also had success with the Raspberry Pi DAC (I2S) overlay. I’m now trading up with some of his newer boards, and in the process of putting together another ‘DAC stack’.

One of his newer products is the MonitorPi which is a little OLED display that can be used in a variety of ways - as a display of the digital information, monitoring GPIO lines, along with transport control - although I have not experimented with latter yet.

Today, I discovered that with the MonitorPi plugged into the GPIO header, RoPieee could not be recognized by roon as a device. If I switch back to Ian’s standard ESS controller display the DAC (using the same RoPieee configuration) works fine. I’ve tried a variety of the RoPieee overlays - all with differing results. In some cases the DAC is recognized, and the MonitoPi displays the correct information, but I get no music. So, not sure what the issue is.

Is anyone using Ian’s hardware with a combination of RoPieee and had success getting the MonitorPi to work properly? My current hardware configuration is using the SPP (StationPi Pro) with a RPi 3 B+ > ConditionerPi on the Pi side, and a ReceiverPi > FifoPiQ3 > ES9038Q2M Dual DAC > Transformer output board on the audio side.

I’m fairly confident that the hardware all works as designed, I just haven’t found the magic combination of software settings to get it all to play nice together yet. :slight_smile:

Any comments, thoughts appreciated.


Hi @RICHARD_DOWNS , I don’t know the answer to your question, but have you tried posting on diyaudio.com? Ian hangs out on there and seems to answer troubleshooting questions quite promptly. This seems to be his primary thread. [thread:]

(Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter | Page 397 | diyAudio)

Incidentally I am considering a similar system having successfully built a streamer from his various parts…

Yes I have. Just posted this morning. I’ve been working with Ian on some other items and PM’d him as well. I thought I would try here first, since variants of RoPieee have been tried, along with different overlays. I had to do a little cross-posting to get the word out. :slight_smile:

Solved! You need to have both controllers attached. Dah!

Congratulations! So do you have the ESS Controller attached to the dac GPIO pins and the MonitorPi attached to the FifoPi GPIO?

How are you handling power? I think I can spot two or even three LinearPi Solos on your photo on the diyaudio forum?

Also, how are you configuring the output transformers? I don’t see any output connectors on the board?

@Philip_Kent, In this test situation I did attached the ESS controller to the DAC, and the MonitorPi to the non-isolated GPIO header on the FifoPiQ3. At some point I believe Ian will integrate the two, so we don’t have to use 2 screen. That makes a lot of sense.

Power has been supplied by 3 LinearPi PSUs and 3 separate windings from 2 transformers. I was using a 3.3V LDO that can be added to the ConditionerPi, but that is no longer being used. I decided to add the 4th LinearPi exclusively for the FiFoPiQ3. This was done because I wasn’t sure where my intermittent problem was. Turned out that original LDO was not the issue.

It wasn’t clear from that one picture how the output was being routed. Instead of using the installed RCA jacks, I just soldered my L and R shielded wires directly to the underside of the output board. This minimized another physical connection inside my enclosure.

What you’re seeing in the pictures below was my original version 2 (v2) of the Ian DAC stack and some of my enhancements. I decided (so far) to keep everything pretty much as it was, and only upgraded the StationPi Pro (SPP) board. As you know the SSP has a daughter board for either an XMOS or Amanero board for use with USB - either from the ‘cleaner’ RPi, or an external USB source (ie. computer). The SPP also added a nice little touch screen for selecting a source and displaying frequency info from the two clocks.

I’ve added a few pictures here, but if you want to see me original v2 version build, here’s a link to my post on the DiyAudio forum.

As usual, the music sounds great - at least on my system. Enjoy.

Edit: Some of the images I forgot to rotate.

1 Like

@AudioMike, I like your implementation. Very professional and minimalistic. I like your usage of the blank plates over the LinearPi and the RPi. What material did you use? Blank PCB board material?

I’ve been using Ian’s board for a few years now. Simply the best IMO. While they may be $$, what you get is professionally designed and implemented DAC related PCBs for creating any type of DAC/Streamer you can dream up. For the most part, they are simply plug-n-play and they just work. Docs are great and there’s a thriving community on Diyaudio supporting most of products. Ian’s the kind of guy you can PM with a question and he will respond. Of course he’s always improving his products by introducing new models with new features - ever fine tuning the important specs - to stay ahead of the best the industry has to offer. Can you tell I’m a big fan! :slight_smile:

Here’s a link over on diyaudio.com of my last DAC I built in 2021, and am in the process of upgrading.

Thanks Richard, the plate over the Pi is copper (grounded) and the linear each have a rubber over their cap bank for any resonance (like other parts of the chassis)…

Yeah pretty happy with the transport, just wish someone would work on a Pi driver that will allow the Pi to release max sample and bit rates across I2S without seeing a hat (which can then be included in the various images like diet, ropieee etc