I'm trying to connect a HiLetgo PCM5102 I2S DAC to a Teensy 4.0, but I'm not getting any audio out. I have it wired as:
SCK - GND BCK - BCLK1 (21) DIN - OUT1A (7) LCK - LRCLK1 (20) GND - GND VIN - +3.3v The datasheet confirms that if I don't set SCK then it will use a phase-locked loop from BLK to sync its clock.
The red light on the audio board does come on: 
Checking with the oscilliscope, I see plausible values for the three digital inputs. Here's the left-right clock showing 44.1kHz as it should:
Here's the bit clock, showing 2.85MHz:
Dividing, this is 64 bits per sample, which I guess is four bytes each for left and right. This seems high to me, though the datasheet says it can take it.
The VIN also looked plausible, though I forgot to take a picture.
Is there anything else worth trying before deciding that the audio board is defective?
Here's my code, which should be putting out a sine wave:
#include <Audio.h> #include <Wire.h> #include <SPI.h> #include <SD.h> #include <SerialFlash.h> // GUItool: begin automatically generated code AudioSynthWaveformSine sine1; //xy=212,327 AudioOutputI2S i2s1; //xy=566,307 AudioConnection patchCord1(sine1, 0, i2s1, 0); AudioControlSGTL5000 sgtl5000_1; //xy=449,467 // GUItool: end automatically generated code void setup() { Serial.begin(9600); // Initialize serial communication while (!Serial) {} // Wait for serial monitor to open Serial.println("Initializing audio..."); AudioMemory(10); sgtl5000_1.enable(); sgtl5000_1.volume(1); // adjust the volume if necessary sine1.frequency(440); // set the initial frequency to 440 Hz (A4) Serial.println("Audio initialized."); } void loop() { // nothing to do here, sine wave is generated continuously in the background Serial.println("Running loop..."); delay(10000); } 

