Microphone libraries for Nano BLE Sense??


I’m trying to use the microphone on an Arduino Nano 33 BLE Sense and I can’t even get it to compile. I include

#include <ArduinoSound.h>
#include <PDM.h>

Just like the examples, but when I try to upload it, I get a compiling error:

C:\Users\eroml\Documents\Arduino\libraries\ArduinoSound\src\AudioInI2S.cpp:19:10: fatal error: I2S.h: No such file or directory

#include <I2S.h>

This header file doesn’t seem to exist on my hard drive and I can’t find anything about it in the library downloader. The Arduino “Getting Started” page for the BLE Sense literally states,

*“The PDM format is supported by our library PDM that can be used also with our ArduinoSound”. *

But even if I try to compile a program with just the above two header includes and no code it still crashes.

Has anybody else ran into this? Maybe there’s another library I need to download?


That is an error in the documentation. You can only use the ArduinoSound library with the Arduino SAMD boards (e.g., MKR, Nano 33 IoT, Zero). The I2S library comes bundled with the Arduino SAMD Boards platform.

However, the Nano 33 BLE has a dedicated PDM library you can use. You will find a demonstration sketch in the Arduino IDE under File > Examples > PDM > PDMSerialPlotter. There is documentation for the library here (please ignore the part about ArduinoSound):