I2S sound output, SCLK issue?


I am trying to output sound through the I2S on the J41 header, and by using the jetson-io.py utility to enable the I2S and audio clock I manage to get a clean output to this Digilent breakout board. However, attempting the same with this Adafruit board produces a great amount of static unless I hold it just right (attempted with 5 different boards).

I have a thread regarding this on the Adafruit forum with more details; however, since the Digilent board make use of the Audio clock, and the Adafruit board the I2S SCLK, I was wondering if there is any known issue with the latter? Or if someone has managed to interface a I2S device which makes use of the I2S SCLK?

I have probed the I2S SCLK (and the other I2S pins) and it definitely produces a square wave, though I don’t recall if I checked the voltage output or not. (I don’t have easy access to a scope while working from home).

Have you checked the L4T doc - Audio development section: https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fasoc_driver.18.1.html%23 ?


We have tested several codecs that use the I2S SCLK on the 40 pin header such include the SGTL5000 codec, RT5658 codec and Adafruit I2S MEMS Mic. There are several users that have been able to get various devices working with the I2S interface as well. I would recommend soldering a header on the Adafruit board and using jumper wires to connect (if you are not already doing so).


Thank you for your feedback!

I glanced through the audio development section of the L4T doc, but frankly I don’t see that there’s a software issue since I can get a clean signal – so both the proper data and clocks must be delivered to the I2S-board.

Good to know that other devices using the SCLK seem to work.

I have tried four of the same UDA1334A Adafruit board with soldered headers and jumper wires, and one without soldering and attempting to produce a clean connection by hand. I have also tried a variety of sample rates in case the UDA1334A board struggles to produce a proper internal clock for some rates, but with no success. I just now also tried another Jetson Nano, but I get identical results.


I know that someone has had some success with the Adafruit speaker bonnet on Jetson Xavier NX, but I am not aware if anyone has got this particular board working. I don’t see why it would not, because Tegra provides a standard I2S interface. That said, I see on the Adafruit forum, someone else failing to get this working on Jetson Nano as well.

I will report this issue. We may need to try this on our side, but unfortunately that may take some time.


I understand it wouldn’t be a priority, but I would appreciate it. And that’s my post on the Adafruit forum, so don’t consider it as another instance of this issue.