I2S Input options

I have tried it when using the J1(40PIN Header) which did not worked, I have no clue about using the J3(FPC Connectors)

I’m sure you can do directly from gpio of the raspberry. clearly the heading changes according to the distribution used. I use volume and I asked on the forum of volume.
on the gpio there are necessarily the i2s pins. you can try to make the right connections with i2s of khadas tone board and set i2s dac generic. if there is anything to change in the file I’m not good at that.

Was anyone able to use input i2s ?

Hi Gouwa. Maybe I am wrong, but i think something is not clear here !
In my opinion, to use I2S input you should bypass the XMOS, and connect directly to ESS DAC chip.
The diagram shows 8 channel connector linked directly to XMOS chip, so…
As an analogy, VIM is a SBC same as RPi. That means I can use the 40 pin connector to send I2S signal from RPi like from VIM. Why is not correct?
There is a separate I2S FPC 10p connector on board. This is “out” only, or it can be used as “in” also?

1 Like

the I2S on 10P FPC is routed to the 40PIN GPIO header, which is designed for VIMs SBC. The 10P FPC connector not make too much sense on KTB and is removed on next gen product.

Yes, theoretically, the DAC can use the I2S from both below:

  • VIMs SBC
  • XMOS (USB to I2S)

But the time we define the Tone Board there are only VIM1 and VIM2 and both the I2S of these two SBCs can only work as master mode, which means not suitable for Hi-Fi application, that’s the reason why we:

  • Only route I2S of VIMs SBC to 10P FPC via the 40P GPIO header
  • Route the DAC to XMOS I2S

But things changed when the Edge-V and VIM3(L) and KTB2 are ready, but I’m still not allowed to post further details of KTB2 here at the moment :slight_smile:

We haven’t tried the XMOS I2S bypass, but I think it might be have issue that the mode(slave or master) of MCLK in some applictions.

The I2S of XMOS can be both input or output, but we designed for output on KTB for DIY users, and with multi-channels features with extra DAC expanding, for example:

  • Stack with 2 more KTB, can be 5.1
  • Stack with 3 more KTB, can be 7.1

PS, you might wonder why we designed one more screw holes on KTB:

Have fun!

1 Like

Hi Gouwa.
Thank you for the detailed answer !
Now, it is more clear for me.
I am looking forward for the gen2 Tone !
Best regards !

Regarding the I2S out/in - please have you considered a firmware option where one of the I2S lines could be I2S master input, for connection of an ADC. clocked to XMOS clock (i.e. running synchronously with the DAC), and adding USB endpoint IN to XMOS firmware to send the data back to the USB host (regular async input, without any feedback endpoint)? That way your very nice DAC could be complemented with a decent ADC. Since you already have all the hardware on board (bi-directional I2S ports, USB, XMOS), it would “only” require a change in XMOS firmware.

Thanks a lot for your reply.

Best regards,


How would one specifically achieve 5.1 and 7.1 (4, 6 or 8 channel DAC) with the KTBD ?
What parts are needed ?
What software / firmware is needed ?
Is one of your VIM models required or can the KTBDs be stacked and interconnected on their own to achieve a synch’d multi-channel DAC ?


It must be possible to change that with firmware for all of us who thought we bought an board with the possibilty to use I2S input as all the competitors DAC can without have to buy another cpu board which we dont need.
I guess the new one comming with I2s and we will be stuck with only Usb.


Did you get it to work?

Interested as well. Trying to find a Khadas dac board with simple i2s input.

would it be possible to use use an HDMI-eARC audio output as the input via I2S?

Please direct me to a walkthrough for 7.1 audio system with four Tone 1 boards. How do i connect peripherals and what are the software requirements?