batica81 / microphone-library-for-pico

Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. 🎤

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FORK CHANGES

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.

Microphone Library for Pico

Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. 🎤

Hardware

Default Pinout

Analog Microphone

Raspberry Pi Pico / RP2040 Analog Microphone
3.3V VCC
GND GND
GPIO 26 OUT

PDM Microphone

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.

Examples

See examples folder.

Cloning

git clone https://github.com/ArmDeveloperEcosystem/microphone-library-for-pico.git 

Building

  1. Set up the Pico C/C++ SDK
  2. Set PICO_SDK_PATH
export PICO_SDK_PATH=/path/to/pico-sdk
  1. Create build dir, run cmake and make:
mkdir build
cd build
cmake .. -DPICO_BOARD=pico
make
  1. Copy example .uf2 to Pico when in BOOT mode.

License

Apache-2.0 License

Acknowledgements

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.

About

Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. 🎤

License:Apache License 2.0


Languages

Language:C 86.6%Language:CMake 13.4%