• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

4-channel DAC and DSP using Raspberry pi 5, CamillaDSP and Soekris DAM 1021

nowonas

Member
Joined
Jan 24, 2017
Messages
28
Likes
32
Hi audio enthusiasts!

I'm embarking on a personal project to build a 4-channel DAC using two Soekris dam 1021 boards. This is more of a personal endeavor to explore DIY audio rather than a quest for superior sound. I'd love some advice and insights from those who have experience with similar setups.

Here's what I'm considering:
  • Using 2 Soekris dam 1021 boards for a total of 4 channels
  • Implementing I2S as the input interface
  • Utilizing a Raspberry Pi 5 as the digital source
  • Incorporating CamillaDSP for digital signal processing
I'm particularly interested in the I2S approach with the Raspberry Pi 5 as this seems to be a viable approach and does not need USB conversion

Some questions I have:
  1. Has anyone successfully implemented a multi-board DAC setup using I2S from a Raspberry Pi with CamillaDSP?
  2. Are there any specific challenges or considerations when using I2S with multiple DAC boards and CamillaDSP?
  3. What's the best way to split the I2S signal for two separate DAC boards while maintaining compatibility with CamillaDSP?
  4. Are there any recommended software solutions or distributions for managing a multi-channel setup on the Pi 5 that work well with CamillaDSP?
  5. How can I effectively configure CamillaDSP for a 4-channel output using two separate DAC boards?
I'm open to all suggestions and would greatly appreciate any insights, tips, or warnings about potential pitfalls.

Thanks in advance for your help!
 
The Pi 5 presents its i2s output as a single audio device with up to 8 channels. Seen from the software side, it doesn't matter what dac(s) the i2s is connected to. For example the hifiberry dac8x is basically 4 stereo dacs on a single board.

If you manage to configure the i2s output to work with the Soekris boards, then CamillaDSP should be able to use them just fine.
I don't know what signals those boards need. I think it's easy to get LR-clock and bitclock from a Pi5, but IIUC it should also be able to generate a master clock. But I don't think anyone has figured out how to make it do that yet.
 
From my own investigations, handling of the master clock is a main concern when integrating the Soekris DAM1021 in this context.

The Soekris board can output a master clock signal of either 45.1584 MHz or 49.152 MHz. Further there's an I2S MCLK OUT pin for the master clock output. Given this information, does anybody know if it is possible to use this built-in master clock externally in this context? This could potentially solve synchronization issues when integrating the 2 different DAM1021 boards, and building multi-channel dac.

It's worth noting that while this master clock output capability exists, the DAM1021 itself doesn't require a master clock input for its I2S interface. It can sync to whatever signal it's fed, needing only serial data, word clock, and bit clock
 
Hi audio enthusiasts!

I'm embarking on a personal project to build a 4-channel DAC using two Soekris dam 1021 boards. This is more of a personal endeavor to explore DIY audio rather than a quest for superior sound. I'd love some advice and insights from those who have experience with similar setups.

Here's what I'm considering:
  • Using 2 Soekris dam 1021 boards for a total of 4 channels
  • Implementing I2S as the input interface
  • Utilizing a Raspberry Pi 5 as the digital source
  • Incorporating CamillaDSP for digital signal processing
I'm particularly interested in the I2S approach with the Raspberry Pi 5 as this seems to be a viable approach and does not need USB conversion

Some questions I have:
  1. Has anyone successfully implemented a multi-board DAC setup using I2S from a Raspberry Pi with CamillaDSP?
  2. Are there any specific challenges or considerations when using I2S with multiple DAC boards and CamillaDSP?
  3. What's the best way to split the I2S signal for two separate DAC boards while maintaining compatibility with CamillaDSP?
  4. Are there any recommended software solutions or distributions for managing a multi-channel setup on the Pi 5 that work well with CamillaDSP?
  5. How can I effectively configure CamillaDSP for a 4-channel output using two separate DAC boards?
I'm open to all suggestions and would greatly appreciate any insights, tips, or warnings about potential pitfalls.

Thanks in advance for your help!
Hi @nowonas, I'm happy to see your post here. I'm actually looking for the same solution like you do: I've build a 6-channel DAC with tube output stages, based on the Lukasz Fikus Lampucera design (see attached pics). The actual DAC board is capable to work with I2S, SPDIF coax and optical. I'm using a Raspberry Pi5 with Camilla DSP. The only way, that I was able to use my 6-Channel DAC with Raspberry Pi5 so far was with the UDIO-8, a USB to SPDIF converter (don't quite like this way). I would like to get rid of the USB to SPDIF and then SPDIF to I2S conversion and operate this setup only on I2S. I'm also wondering, who can help to output the I2S master clock signal for multichannel I2S output. Unfortunately I'm new to Linux and Raspberry Pi, so I won't be of great help with the coding and so on (my roots are more in DIY audio - since quite some years I went fully digital...now I'm combining the best of DSP FIR filter technology with old tube technology for amplification).

I'm wondering if the diyinhk XMOS Multichannel board could actually be used as a work around. If I understand correctly it has 2x4 I2S in and 2x4 I2S Out channels...plus USB. They write:

The PCB bottom includes label of the input and output
DATA = PCM out channel 1+2
DO2 = PCM out channel 3+4
DO3 = PCM out channel 5+6
DO4 = PCM out channel 7+8
DIO1 = PCM in channel 1+2
DIO2 = PCM in channel 3+4
DIO3 = PCM in channel 5+6
DIO4 = PCM in channel 7+8

BCK, LRCK, MCK are the same for both input and output.

I would assume, that this board creates a master clock for all ins and outs. They also offer a 8-channel reclocker. Would this be a feasible workaround to use the Raspberry Pi5 multichannel I2S outs and generate the MCLK from this board in order to keep all external DACs in sync?

I also found IAN CANADA FIFOPIMA V1.5 Reclocker Master Clock Mode for Raspberry Pi. This board also seems to generate a master clock signal. Does anyone know, if it would be possible to use Raspberry Pi5 native multichannel I2S out plus this board to get MCLK and drive 3 stereo DAC's via I2S?

Currently I'm actually using the Hifi Berry DAC8x and not my 6-channel Lampucera DIY DAC (been using my DIY DAC, while I was still using the Najda DSP via SPDIF before I moved to Raspberry Pi & Camilla DSP). My DIY DAC sounds way better than the DAC8x...nevertheless it's nice to experiment with the DAC8x as it is so compact and easy to use. I have always wodered, if the DAC8x works with or without a master clock signal, that keeps the 8-channels in sync? Isn't there any way, to get the MCLK maybe from or the same way, like the DAC8x uses it?

Getting I2S multichannel with MCLK out of the Raspberry Pi5, would make Camilla DSP even more useful and powerful, as every user could use their desired DAC's for the best possible performance and sound signature. Camilla DSP is incredibly powerful and currently this system is unfortunately limited to work with fairly mediocre multichannel DAC's. Would be amazing, if we would find a way to operate it with 3 or 4 synchronised stereo DAC's of our choice (via I2S or SPDIF).

Btw. this site seems to be interesting to follow with regards to Raspberry Pi and clocks: Zynthian DAC (DIY DAC and driver development for Raspberry Pi).
 

Attachments

  • IMG_2736.JPG
    IMG_2736.JPG
    258.9 KB · Views: 23
  • IMG_2991.JPG
    IMG_2991.JPG
    370.4 KB · Views: 23
Last edited:
Back
Top Bottom