ADAT test compilation error

Mixer

Member
Hello, I'm new here. I work in audio post-production, so I'm very interested in Teensy's audio features. Recently, I've been researching Teensy's adat output. I referred to alex6679's tutorial: https://github.com/alex6679/teensy-4-usbAudio/tree/main, but it failed to compile. Am I missing something? I've searched the forums but haven't found a solution.Is it that the compiler can't find the implementation of the AudioOutputADAT class?
Arduino IDE Version: 2.3.8
截屏2026-03-21 15.07.30.png



/Users/anpingyao/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /Users/anpingyao/Library/Caches/arduino/sketches/1819E54C2346E803D744DDD9EAB3FE5F/sketch/ADAT_DrumSamplePlayer.ino.cpp.o: in function `AudioOutputADAT::AudioOutputADAT()':
/Users/anpingyao/Library/Arduino15/packages/teensy/hardware/avr/1.60.0/libraries/Audio/output_adat.h:34: undefined reference to `AudioOutputADAT::begin()'
/Users/anpingyao/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /Users/anpingyao/Library/Caches/arduino/sketches/1819E54C2346E803D744DDD9EAB3FE5F/sketch/ADAT_DrumSamplePlayer.ino.cpp.o: in function `AudioStream::AudioStream(unsigned char, audio_block_struct**)':
/Users/anpingyao/Library/Arduino15/packages/teensy/hardware/avr/1.60.0/cores/teensy4/AudioStream.h:152: undefined reference to `vtable for AudioOutputADAT'
collect2: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
 
I think it's only officially supported on Teensy 3.x, but there's a post here which has an update for Teensy 4.x.

I must have used this myself, though I don't remember doing it, can't find anything in my fork of the Audio library, and there's no pending PR. @Chris O. may have an update / more wisdom.
 
Thanks for your reply.That's exactly right.I'll give it a try with the Teensy 3.x.I hope the Teensy 4.x will support ADAT,after all, it supports SPDIF 。I can use Teensy as a multi-channel sound card to mix audio and then output it from ADAT.. Just thinking about it gets me excited. It looks like it works fine in the DAW, and I’m really looking forward to what the future holds. Salute to the great developers!
截屏2026-03-21 19.25.35.png
截屏2026-03-21 19.16.54.png
 
I did use it, by copying a couple of files out of that thread into the sketch folder. Seemed to work OK, but I have no real ADAT hardware to work with (I was trying to get receive working using RP2040 PIOs - successfully, but need to work out how to de-jitter the clock...).
 
Is it in a state where you can do a pull request? Or someone could fork it, fix the Teensy 3.x bug, do a PR for you, and then you can do a PR for Paul?!
 
Also ... I had success bumping the Teensy TDM code to use all the SAI1 pins, so I assume it'd be possible to get 5x 8-channel ADAT outputs, 4x on SAI1 and 1x on SAI3. I have no feel for how useful that would be - ADAT input would presumably be very much more desirable, but as noted above clock recovery to drive the Teensy's audio engine is a bit of an issue.
 
Is it in a state where you can do a pull request? Or someone could fork it, fix the Teensy 3.x bug, do a PR for you, and then you can do a PR for Paul?!
Not really only the few notes in the (ADAT white noise on Teensy 4.0) thread. I did this for Atari Falcon 030 DSP connector since it's running in 8ch TDM.
 
Last edited:
Would it be OK with you if I looked through your various posts on that thread and put together a PR for the Audio library? Due credit to you in the comments etc., of course, but it would look like my effort to the casual observer…
 
Back
Top