What happened?
AudioReactive with a digital I2S mic (INMP441, ESP32-WROOM-32) triggers on almost any ambient noise even with Squelch at 255 and Gain at 0, in a quiet room. Hardware causes (board, mic unit, wiring, power supply, LED strip, DMX) were ruled out through extensive isolated testing (happy to share details on request).
The key finding: on the exact same board/mic/wiring, a standalone test using the legacy I2S driver (driver/i2s.h, same as audio_source.h/I2SSource in the audioreactive usermod) reproduces the bug — readings stay near full scale even in silence. Rebuilding the same test with the new i2s_std driver (Arduino ESP_I2S API), no hardware changes, gives normal readings: low at rest, proportional spikes on real sound. This points to the legacy I2S driver itself rather than hardware, which lines up with the existing comment in audio_reactive.cpp noting audioreactive hasn't been ported to driver/i2s_std.h yet.
Is this a known limitation of the legacy driver, and would the planned i2s_std migration fix it?
To Reproduce Bug
- Wire an INMP441 to an ESP32-WROOM-32 (standard SD/WS/SCK, L/R to GND).
- WLED v16.0.1, official binary. Enable AudioReactive with a generic I2S digital mic, matching pins.
- Gain = 0, Squelch = 255, AGC off.
- In a quiet room, observe the audio level / LEDs.
Expected Behavior
With Squelch at 255, AudioReactive should stay inactive in a quiet room. Instead it reacts continuously, regardless of Squelch/Gain/AGC.
Install Method
Binary from WLED.me
What version of WLED?
16.0.1
Which microcontroller/board are you seeing the problem on?
ESP32
Relevant log/trace output
Anything else?
No response
Code of Conduct
What happened?
AudioReactive with a digital I2S mic (INMP441, ESP32-WROOM-32) triggers on almost any ambient noise even with Squelch at 255 and Gain at 0, in a quiet room. Hardware causes (board, mic unit, wiring, power supply, LED strip, DMX) were ruled out through extensive isolated testing (happy to share details on request).
The key finding: on the exact same board/mic/wiring, a standalone test using the legacy I2S driver (driver/i2s.h, same as audio_source.h/I2SSource in the audioreactive usermod) reproduces the bug — readings stay near full scale even in silence. Rebuilding the same test with the new i2s_std driver (Arduino ESP_I2S API), no hardware changes, gives normal readings: low at rest, proportional spikes on real sound. This points to the legacy I2S driver itself rather than hardware, which lines up with the existing comment in audio_reactive.cpp noting audioreactive hasn't been ported to driver/i2s_std.h yet.
Is this a known limitation of the legacy driver, and would the planned i2s_std migration fix it?
To Reproduce Bug
Expected Behavior
With Squelch at 255, AudioReactive should stay inactive in a quiet room. Instead it reacts continuously, regardless of Squelch/Gain/AGC.
Install Method
Binary from WLED.me
What version of WLED?
16.0.1
Which microcontroller/board are you seeing the problem on?
ESP32
Relevant log/trace output
Anything else?
No response
Code of Conduct