MCLK, BCLK, LRCLK, TX & RX - cable lengths


Well-known member
Hey all

I have a project where the Teensy 4.1 is in one enclosure, and the audio board is going to have to live in another (along with an amplifier).
The enclosure that houses the Teensy is just too small and cannot be changed now.

This I believe is going to cause real issues with the lengths of the connections for MCLK, BCLK, LRCLK, TX & RX.

Now the connection will be through PCBs tracks and a PCIE edge connector, so no 'floating wires', but I still suspect the track lengths are going to approach 60-70mm long.


Also, over the years of me using the Audio board (when directly attached to the Teensy), we did suffer with these units failing. The audio would suddenly go all scretchy and horrible. That was using the Teensy 3.2 (goodbye my friend).
The only fix used to be a re-program of the Teensy but we never identified what caused the problem. Anyone else get random failures?

OK, With a ground plane and 100R on the MCLK, we seem to be fine.

Has the SGTL5000 been superceded? I was hoping the 32 pin version would come back for i2c address reasons, but it's now listed as obsolete in Digikey.

SD card... I assume that I can 'stack' 3x SD cards onto the Audio board, as long as they have individual CS pins?
How easy is it to change the CS pin for the SD card on a Teensy 4.1 audio board? Is it a matter of declaring a new pin at the start of the code, or do I need to change it in the library?
On the hardware side, you would need to solder a wire so the CS signal connects to some other unused digital pin. And of course if you use pin 10 for something else, cut the connection between Teensy pin 10 and the audio shield, so your other signal doesn't conflict.

On the software side, just give that pin number to SD.begin(pin). Many examples have a define near the top, which just puts the number into SD.begin(). You can either edit the define, or delete it and put the pin number directly into SD.begin().

No need to dive into the SD or SdFat library simply to use a different pin for CS. The library was designed to let you easily use any digital pin (which isn't in use for something else).
Thanks Paul.

Can I ask what the pair of solder pads on pins 7 & 8 are for on the Teensy 4.1 audio board (Din and Dout).
What reason would you cut them?
Can I ask what the pair of solder pads on pins 7 & 8 are for on the Teensy 4.1 audio board (Din and Dout).
What reason would you cut them?

Two audio shields can be used together for 4 channel audio. Official documentation is on the audio design tool (right side panel).

On the 2nd shield providing channels 3 & 4, you need to cut those pads apart and solder wires to other pins on Teensy. See the documentation for details.

The pads for the I2C address also need to be configured on the 2nd audio shield, since I2C requires each device to have a unique address.