Tone1 as I2S to USB bridge for ADC with I2S output?


I am considering buying an ADC with I2S output and I would like to connect the I2S output to Tone1’s I2S input. Is it possible that Tone1 will work as a bridge and send the I2S signal over USB?

If it is not possible out-of-box, then what software or hardware changes would be required?


Hi przemhb,
The hardware connect can use this pin. need firmware update, but we do not have the plan to update Tone1’s firmware at present.

Hi Kenny,

Thank you for your reply.
So my guess was right - it’s one of a two I2S ports of the XU208.

Tone1 firmware is closed source, isn’t it?

I am considering writing appropriate firmware by myself having xCORE USB Audio library as a starting point. As the firmware could be setup as conformant with USB Audio Class 2 no OS drivers would be needed for modern systems. I have XTAG3 debug interface and my only one Tone1 as an evaluation board.
So I need a way to revert to stock Tone1 firmware to still be able to listen to it once I finish development at the end of a day. Even after clearing the XU208’s Flash (Khadas application and bootloader).

Is there any tool by Khadas or XMOS? I was wondering if you lock or encrypt the flash? Maybe I could read whole flash, store it as a HEX and later flash it back? Xflash?

I have no experience with any XMOS MCU, but I do have with MCU from other manufacturers.

Hi przemhb,

The XMOS tool i use is:

If want to revert to stock Tone1’s firmware(*.xe format) please flow this:

  • Use xTAG tool to connect Tone1’s debug port.

  • Use Command Prompt tool to revert Tone1’s firmware again.

xflash E:\Tone1_Firmware_V2.00_201016.xe

Hi Kenny,

thank you for the information and firmware xe file. I do appreciate this.

Does the xe file contain whole flash or just an application? I guess the flash map starts with a bootloader and application comes afterwards, starting at some higher address.

I was able to program flash. Thank you.

XTAG3 and Khadas use 2x10 connector. At first I was deceived and just matched pin 1.

There are three things to note:

  • pin mapping is different,
  • numbering conventions differ,
  • JTAG signals naming od TDO and TDI is different.
    I have attached screenshots with my comments in case it will help someone.

1 Like

Hi przemhb,
Thanks for your sharing :bouquet:

It contain the whole thing.

have fun :wink: