0

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: board with lit light

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:

left-right clock

Here's the bit clock, showing 2.85MHz:

bit clock

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);
}
asked Apr 28, 2024 at 19:04

1 Answer 1

2

After reading the Amazon reviews more carefully, the problem was that there are four pads that need soldering:

  • 1 / FLT - Filter select : Normal latency (Low) / Low latency (High)
  • 2 / DEMP - De-emphasis control for 44.1kHz sampling rate: Off (Low) / On (High)
  • 3 / XSMT - Soft mute control(1): Soft mute (Low) / soft un-mute (High)
  • 4/ FMT - Audio format selection : I2S (Low) / Left justified (High)

I soldered 3 high and 1, 2, and 4 low. Now it works!

soldered jumpers

answered Apr 28, 2024 at 19:35

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.