arduino / arduino/ArduinoCore-mbed
Lengthy mic settling time after power up / reset - Nano BLE 33?
- Dominant language
- C
- Stars
- 411
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
I'm using the Nano BLE 33 Rev2's on-board microphone (MP34DT06J) with the PDM library and vanilla setup code (tutorial [here](https://docs.arduino.cc/tutorials/nano-33-ble-sense/microphone-sensor)), and am noticing there is an extremely long "settling time" before values from the microphone are trust-worthy.
When I first turn on the board (or perform a hardware reset), the microphone values are incorrect for roughly the first ~3.5 seconds. (Values start high, and gradually settle, over the course of this ~3.5 seconds).
Is the source / reason for this "settling time" understood? (Is there buffering within the microphone hardware? Within the PDM library? Some sort of digital filtering?)
Has anyone found a fix / work-around for the issue?
It seems unfortunate that a board that is so capable, and in other ways designed to be quick and responsive, requires such a long delay before the microphone produces usable values; I'd love to know what is going on here, and whether or not it can be remedied.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the startup behavior on a Nano BLE 33 Rev2 using the vanilla PDM setup from the linked microphone tutorial. Then trace the PDM library's microphone startup path and determine whether the settling delay comes from the microphone, buffering, or filtering. Done means the cause is identified and a fix or practical workaround is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc, embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100