Raspberry PI 5 support

Hi!
I’m wondering if you’re planning to release ELK Audio OS for the new Raspberry PI 5. It would be awesome to have more performance headroom RPI 5 brings compared to RPI 4. :slight_smile:

Best,
Piotr

3 Likes

Hi @bnkwsk,
unfortunately, this is not trivial - with the new IC that handles I2S, we will have to basically write a new driver from scratch.

I’m not excluding it completely but right now is not in our pipeline.

1 Like

Any update on this?

I bought a HiFiBerry bundle, and after several days of troubleshooting I’ve discovered that I have an RPi 5, and the Elk OS image I have is only for RPi 4.

1 Like

Hello @Stefano, and the rest of the ELK team !

HifiBerry released their ADC8x add-on for the DAC8x, which when combined, enables a PI 5 to get 8 mono inputs and 8 mono outputs, which would be absolutely perfect for my open source preamp project.

Any news on the support for raspberry pi 5 ?

In the meantime I will probably still get the hardware and roll my own Raspberry Pi OS + PREEMPT_RT with a Sushi build, to get some work done while waiting for ELK Audio OS, just wanted to know if you guys are still planning to support the PI 5 and maybe these new devices.

Cheers !

Hi @leozor,
unfortunately the RPi5 support is not straightforward since there have been many changes in the way that the SOC interfaces with I2S ports (it goes through the RP2040 which is connected over USB, which is quite tricky with Xenomai).

We are doing some initial investigation but so far there are no plans to start the driver work yet.

How about without drivers ?
I figured that there are still interesting features to have on a pi5 based project in elkOS even if the ultra low latency drivers are not available : barebones OS, double-partitions, system update to name a few
How easy would it be to make a preempt-rt based version of ELK OS for the pi 5 ?

If it is not a great option, if anyone knows any resources that could give me pointers on how to develop a HAT for the pi 4 with as many I/O as the DAC8X+ADC8X, and how to write drivers for elkos/pi4, that would be greatly appreciated. I am starting development for a 8 in 8 out device with the Pi 5.

I am thinking that making an audio HAT for a pi 4 would be a significantly higher challenge than making a custom midi controller PCB, but I’d still like to get a grasp of the difficulty and maybe try.

Many thanks !

Hi @leozor ,
sorry for the very late reply but this got caught in the summer break :frowning:

Of corse, it is absolutely possible to run Elk without the low-latency drivers on a Pi5, that is something that you can set up literally today quite easily. You will mostly have to recompile Sushi and use its Jack audio frontend in that case.

Hi @Stefano !
Really happy to hear from you !
I was starting to think that you guys abandoned ship haha.
Glad to have you back and I hope you are doing well.

I am not working on the pi 5 anymore because the hifiberry dac8x + adc8x stack is not as good sounding as the PCM3168a that you use on the elk pi hat.
So I decided to continue using my pi 4 and order a used elk pi hat on Reverb, and see if I could dump the CPLD code myself to flash it on my custom boards once I make them. I am still waiting for my elk pi hat to arrive.

So far I am making great progress with my dub preamp, I’m making a react web control app and a python backend with Elkpy to control Sushi and websockets to provide all of it to the frontend, and I also made my prototype midi controller work in the past, so once I finish the software part I’ll be focusing on making my custom elkpi hat (basically strip down the CV stuff and go all audio, and add XLR sockets)

It would really be awesome if you guys can give us the CPLD code, even if it’s not perfect yet ! :smiley:

Many times I’ve considered switching platforms but you made it so perfect for my skillset that I keep going back to it lol.

Long live ELK :heart_on_fire:

Hi ! @leozor ! I am a bit curious about your project. I have been dreaming of getting into a raspberry 5 some independent audio signals, 6 or 7, for the 6 strings of a guitar (using a hexaphonic pickup). The 7th channel would be the mix of all strings. Once the signals are in a raspberry I could transfer them to a PC using USB ( USB 2.0/ UAC 2.) for processing or recording each string separately. If the raspberry had some processing power left maybe I would be able to convert the signals (still inside the raspberry) to midi, using a pitch detection algorithm. But I do not know how a Pi hat/external card can transfer 6-7 channels of audio sampled at 44.000 khz to the raspberry board, and I do not know if there is UAC 2.0/USB 2.0 support in the raspberry for the ELK OS or any other OS. That is why your audio project is interesting to me. If I understood correctly you tested different audio boards. Please let me know what tips/advice you can provide me for a project as I described. thanks

Hi @ArielAr , I have put my project aside for the moment, as I am working on too many things at the same time.
But I might get back to it soon, though probably not using a raspberry pi.
I recently bought a Bela Gem Multi, which features a very similar Xenomai kernel architecture that the one Elk OS uses, 10 inputs and 10 outputs, 24 bit and 96khz support, sub millisecond performance, and most importantly : hardware in active production !
It could probably fit your use case better.

By not using ELK though, you would lose the comfort of being able to make yourself a JUCE VST and crosscompile it to ELK, but you can still isolate your algorithms and wrap them both in a JUCE VST and a Bela program.

I will soon be exploring the possibilities of porting Sushi to the Bela platform, which would be absolutely insane for my project as I am now pretty familiar with this stack and have a lot of work done on it (my MVP is working great but the hifiberry is not that good for my usecase and I don’t really want to design an Audio PCB if I can avoid it), and don’t really want to reinvent the wheel with the audio routing logic and gRPC implem etc etc.

Porting to Bela would also probably shine light and interest on Sushi, which I really think is awesome and would love to continue using. They have a nice community also. It would both benefit ELK and Bela users !

@Stefano , if by any chance one of you guys have any insight of what a port to Bela Gem would imply and any challenges to face, I would love to hear that !

In the meantime, big ups to all and I will give news if I make something.

To avoid hijacking the subject, I have posted here my question in greater details Sushi as library, reactive mode, on Bela Gem Multi