#5832·WLED

AudioReactive extremely oversensitive with digital I2S mic (INMP441)

Author: JibejiCreated Sep 4, 2026Updated Sep 17, 2026
Labelsbugneeds investigation

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

  1. Wire an INMP441 to an ESP32-WROOM-32 (standard SD/WS/SCK, L/R to GND).
  2. WLED v16.0.1, official binary. Enable AudioReactive with a generic I2S digital mic, matching pins.
  3. Gain = 0, Squelch = 255, AGC off.
  4. 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

bash

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct