This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Issues with on-board PDM mic

I know there are other (long!) threads about PDM mics and I've studied them all carefully.  Unfortunately I'm still having an issue with our on-board mic.  The difference is that if I hook up an external PDM mic (https://www.adafruit.com/product/3492) everything works great.  The mic is a INMP621ACEZ-R7 on a custom board.  I've managed to forward the CLK and DAT lines from the on-board mic to exposed GPIOs using PPI but when I dump the output and use the handy py script from this thread, although there appears to be valid-looking signals, I get noise on the right channel and absolute silence on the left channel.  I've tried all manner of PDM settings but currently I'm using:

    config_pdm.clock_freq = NRF_PDM_FREQ_1280K;
    config_pdm.ratio = NRF_PDM_RATIO_80X;
    config_pdm.edge = NRF_PDM_EDGE_LEFTRISING;
    config_pdm.gain_l = NRF_PDM_GAIN_MAXIMUM;
    config_pdm.gain_r = NRF_PDM_GAIN_MAXIMUM;

The Adafruit mic works fine with these settings.

Any help is greatly appreciated.  Been at this for a week now.  Happy to provide Saleae traces, etc. if helpful.

Related