An example for using analogue microphone over USB is added.
So far only 16khz works.
It is important to use some kind of active microphone, as just connecting to a simple microphone will not work.
There is a lot of noise, probably due to USB connection.
This is just a proof of concept, and possibly a basis for further research and experimenting.
Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. 🎤
- RP2040 board
- Microphones
Raspberry Pi Pico / RP2040 | Analog Microphone |
---|---|
3.3V | VCC |
GND | GND |
GPIO 26 | OUT |
Raspberry Pi Pico / RP2040 | PDM Microphone |
---|---|
3.3V | VCC |
GND | GND |
GND | SEL |
GPIO 2 | DAT |
GPIO 3 | CLK |
GPIO pins are configurable in examples or API.
See examples folder.
git clone https://github.com/ArmDeveloperEcosystem/microphone-library-for-pico.git
- Set up the Pico C/C++ SDK
- Set
PICO_SDK_PATH
export PICO_SDK_PATH=/path/to/pico-sdk
- Create
build
dir, runcmake
andmake
:
mkdir build
cd build
cmake .. -DPICO_BOARD=pico
make
- Copy example
.uf2
to Pico when in BOOT mode.
This project was created on behalf of the Arm Software Developers team, follow them on Twitter: @ArmSoftwareDev and YouTube: Arm Software Developers for more resources!
The OpenPDM2PCM library is used to filter raw PDM data into PCM. The TinyUSB library is used in the usb_microphone
example.
Disclaimer: This is not an official Arm product.