Please consider creating a breakout board for the TDK T5848 microphone. I’ve used a variety of Mems microphones (PDM and I2S types) and this one seems pretty good. It has special low powered (eg. 20uA) “watchdog” modes and doesn’t have a DC offset that has been a nuisance with other mems microphones I’ve tried. The I2S interface is straightforward to use. The breakout board wouldn’t require any additional components, just the microphone - (and selfishly, would save me from having to hand solder one each time I want to use it, as below )
Very nice work on your homemade breakout!
Great job soldering and a compelling photograph, too.
Thanks Yellowdog and brow - the things we will do to work on the latest technology. I’ve had to do this with a fair few mems microphones on my quest for the perfect microphone. I wouldn’t be able to do any of this type of soldering without my trusty Olympus microscope. The biggest risk with the soldering is having flux or things going down the microphone hole - I need to find a tiny plug or ball-bearing to block the hole while I solder.
@Greg25 Any advice on getting this to work with Raspberry Pi I2S? I have the ICS-43434 working great, but when I sub in the T5848, silence.
The ICS-43434 is similar to the superior T5848 (I found the 43434 produced noise when exposed to the light from mains powered Led lighting). I use STM32L476 nucleo boards, the software to initialise both microphones was pretty much the same. I can only make a few suggestions -
The T5848 is meant to run at 1.8V (although I accidentally ran my first prototype at 3V and it seemed to cope with that - but not recommended). I haven’t used the Raspberry Pi, but a quick search suggests the I2S runs at 3.3V
There are slight differences with the format of the data received, and with the T5848 the format varies depending what “mode” you are in. From my code -
// 5848 Mic uses 32 bit I2S slot size in high quality mode
// actual data sent is 24 bits, with 20 bits precision
// (lowest 4 bits are tied to zero)
Thanks. I’m more of a hardware oriented person so am using default implementations on the Pi. I suspect it is expecting data in the wrong format and my bit clock is likely too low. I also whiffed on the 1.8V spec, though their datasheet also missed that spec in this diagram.

