PDM MEMS microphone interfacing with Raspberry Pi Zero

Hi all!

I’ve recently bought an Adafruit PDM MEMS microphone breakout (https://core-electronics.com.au/adafruit-pdm-mems-microphone-breakout.html) and am attempting to interface it with a Raspberry Pi Zero W.

According to the Pi Zero BCM2835 SoC datasheet (https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf), the I2S line supports interfacing with up to 2 PDM microphones.

However achieving this requires enabling PDM mode and making possibly (?) making changes to the BCM2835 registers. This is beyond my area of knowledge so I’m reaching out to see if anyone has any experience or guidance on this topic.

Any help would be greatly appreciated! :slight_smile:


If you want to do more than the basics with I2S on the RPi then you need to be prepared to do some hacking on the board, not all the I2S signals are broken out.

I would point you to the RPi forums, with a dedicated I2S thread. Lots of very knowledgeable people there, and lots of example code, plus info on what stuff is missing from the datasheet.

Hope you find it useful.