2025-06-02 6:54 AM
Hello,
I'm working on a project using the STM32H735G-DK development board. I'm trying to receive audio data from the on-board digital MEMS PDM microphone (U33) using SAI4 Block A in Master Receive mode. I selected PDM mode in CubeMX and configured SAI4_A as Master Receive. SAI4_CK2 is set as the clock output pin, and SAI4_D1 as the data input. I’m using PLL3P as the clock source for SAI4A, set to 49,152. Middleware PDM2PCM is enabled. I’m currently using HAL_SAI_Receive() (not DMA yet), but BDMA is enabled.
When I run the program, the microphone always returns a constant value (like 0xFF), or no data at all.
Has anyone successfully used the on-board PDM microphone with SAI4 on this board? What is required to activate the SAI4_CK2 clock and receive valid data?
Thanks for the help.
2025-06-02 8:13 AM
The onboard MP34DT05 is powered via VDD_MIC and enabled via MIC_CK, which is internally connected to SAI4_CK2.
If the clock is not toggling, the microphone stays inactive and outputs nothing or 0xFF.
2025-06-03 1:10 AM
In my code the clock is enabled, still wont work. The MIC gets 3.3V.