I2S amplifier/Using it/09. When it stays silent
Using it · 09 of 9

When it stays silent

A silent TK100 is almost always one of five things, and the power LED and the Serial Monitor tell them apart: no LED is the supply, a lit LED with no sound is CTRL, a sketch that will not compile is a name, and crackle or half a song are the speaker side and the mono chip.

Symptom first

Where to look first
CTRL, then the three I2S wires
Symptom
Look at
CTRL, then the three I2S wires
LED on, no sound at all. Wire CTRL to GPIO 18 and drive it HIGH. Then check LRCLK on 16, BCLK on 15, DIN on 17.

Three checks with a meter

MeasureWithExpect
3V3 to GND on the boardpower onabout 3.3 V
CTRL to GND at the headersketch runningabout 3.3 V, not 0
The two speaker pins to GND, eachpower off, speaker plugged infar from 0 Ω

The first finds a supply that never arrives. The second finds a CTRL wire on the wrong pin or a sketch that never drives it. The third finds a speaker wire shorted to ground, which the chip answers by switching its output off.

The name that does not compile

A sketch copied from elsewhere may call the amplifier's enable pin PIN_CTRL:

const int PIN_CTRL = 18;

On the ESP32-S3 that fails with expected unqualified-id before numeric constant, because the core's own headers already define PIN_CTRL as a macro and the compiler sees a number where a name should be. Any other name works. This book uses PIN_AMP_ON.

Change one thing at a time

Go back to the first sound sketch on the book's pins, with the kit's speaker, and get the scale first. Then change the pins, then the sample rate, then the program. A fault that appears at one step belongs to that step.

When it does not work

expected unqualified-id before numeric constant

The sketch declares const int PIN_CTRL. The ESP32-S3 core already defines PIN_CTRL as a macro in its own headers, so the compiler sees a number where a name should be. Rename the pin: this book calls it PIN_AMP_ON.

The LED is on, the sketch runs, and there is no sound.

Check CTRL: wired to the GPIO the sketch names, and written HIGH before the first sample. A wire from CTRL to 3V3 is a quick test; if sound starts, the fault is in the sketch's CTRL line.

Sound for a moment, then nothing.

A speaker lead touching GND or the other lead trips the chip's overcurrent protection, and it recovers when the short goes. Look at the bare ends at the speaker. A sketch that drives CTRL LOW after playing, like the record sketch, also goes quiet by design.

Only half of a stereo song plays.

The chip is mono and plays one channel, the right as shipped. Mix the two into one in the sketch, or wire a second TK100 to the same three wires with its L/R jumper bridged.

The power LED is off.

The board has no supply: the LED sits on 3V3 through 5.1 kΩ. Check the 3V3 and GND wires reach the ESP32-S3's 3V3 and GND pins.

Where this goes next

The block's reference page: its pins, specifications and downloads.

TK100 I2S amplifier

Edit this page — content/books/i2s-amplifier/when-it-stays-silent.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

I2S Amplifier

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum