I2S/GDMA not working properly on IDF5.x (esp32 ardunio V3.3)

vuthai
Posts: 12
Joined: Tue Nov 28, 2023 5:00 am

I2S/GDMA not working properly on IDF5.x (esp32 ardunio V3.3)

Postby vuthai » Wed Sep 03, 2025 11:36 am

Hi, I am having problem I2S/GDMA not working on ESP32 ardunio V3.3 (IDF5.x), I only get 17 pulses output clock, I2S_TX_DONE flag is enabled and stopped, I program the peripheral register directly, meanwhile the same program V2.0 (IDF4.x) ESP32S3 chip works fine, got the same error on IDF5, it seems that the company changed the I2S-FSM firmware which makes i2s can not work properly. The chip I use ESP32C6, the same error on ESP32S3 (i2s hardware is almost the same)

ahsrabrifat
Posts: 201
Joined: Sat Jan 18, 2025 2:31 pm

Re: I2S/GDMA not working properly on IDF5.x (esp32 ardunio V3.3)

Postby ahsrabrifat » Wed Sep 03, 2025 3:37 pm

Although the hardware similarities between ESP32-S3 and C6 suggest similar expected behavior, ESP32-C6 introduces nuances like the GPIO glitch filters (to suppress pulses shorter than two sampling clock cycles)
Espressif Docs. This might unintentionally filter out parts of your intended pulse train—though this wouldn’t fully explain exactly 17 pulses. Still, cross-check whether glitch filters (either default “pin glitch filters” or “flex glitch filters”) are enabled somewhere in your configuration unintentionally modulating your output.

vuthai
Posts: 12
Joined: Tue Nov 28, 2023 5:00 am

Re: I2S/GDMA not working properly on IDF5.x (esp32 ardunio V3.3)

Postby vuthai » Wed Sep 03, 2025 11:36 pm

Although the hardware similarities between ESP32-S3 and C6 suggest similar expected behavior, ESP32-C6 introduces nuances like the GPIO glitch filters (to suppress pulses shorter than two sampling clock cycles)
Espressif Docs. This might unintentionally filter out parts of your intended pulse train—though this wouldn’t fully explain exactly 17 pulses. Still, cross-check whether glitch filters (either default “pin glitch filters” or “flex glitch filters”) are enabled somewhere in your configuration unintentionally modulating your output.

My BCK signal is 4MHz so the error filter can't clear the pulse, meanwhile measuring logic at BCK standard pulse 4Mhz (i2s only outputs 17 clk then stops).

vuthai
Posts: 12
Joined: Tue Nov 28, 2023 5:00 am

Re: I2S/GDMA not working properly on IDF5.x (esp32 ardunio V3.3)

Postby vuthai » Tue Oct 21, 2025 8:09 am

Found the cause, because the new version changed the value of the GDMA_OUT_PERI_SEL_CH0_REG register from I2S0 (3) to AES (6) causing GDMA I2S not to work properly, the function causing the problem: ESP.getSketchSize()

Who is online

Users browsing this forum: No registered users and 2 guests