X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1

Post here first, or if you can't find a relevant section!
Post Reply
mick63
Posts: 2
Joined: Mon Oct 02, 2023 2:54 am

X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1

Post by mick63 »

Currently X-NUCLEO-IKS02A1-Audio only supports F401RE (I2S) and L476RG (SAI)

I'd like to add a PDM mic to a Nucleo STM32WL55JC1 board - Which has I2S available on its 2nd SPI (SPI2S2).

Are there plans to introduce any more low level PDM drivers to the X-NUCLEO-IKS02A1-Audio library?
Alternatively, I assume I'd need to create pdm_low_level_wl55jc.cpp ?
Any guidance available to do this?

M.
cparata
Posts: 7
Joined: Tue Aug 09, 2022 7:53 am

Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1

Post by cparata »

Hello @mick63,
unfortunately, the Nucleo-WL55JC1 is not hardware compatible with the X-NUCLEO-IKS02A1 out-of-the-box because on this Nucleo board the I2S clock and the I2S data are not present respectively on D3 and D4 pins of the Arduino header like for the Nucleo-F401RE. So, first of all, in order to get an hardware compatibility you need to link with a wire the D3 and D4 pins of the shield respectively with the A5 and A2 pins of the Nucleo-WL55JC1 (where you effectively have the I2S peripheral pins). After that, you need to add in the X-NUCLEO-IKS02A1-Audio library the implementation of the pdm_low_level_wl55jc.cpp file for the STM32WL55JC1 that at the moment is completely missing. I do not have band to work on it so any contribution of the community to add the support to STM32WL55JC1 on the X-NUCLEO-IKS02A1-Audio library is welcome. Unfortunately, I'm not really an audio expert but you must find a system clock setting that allows to get a suitable clock frequency on the I2S clock pin compatible with the audio spec. Besides you must set the DMA like done on Nucleo-F401RE for the memory transfer of the audio samples. You must be an expert of the audio spec, I2S peripheral and ST HAL drivers to do the job. I hope that it can help you.
Best Regards,
Carlo
mick63
Posts: 2
Joined: Mon Oct 02, 2023 2:54 am

Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1

Post by mick63 »

Thanks for the detailed reply Carlo,
Ah, so it is possible, and I'm on the right track.
Hardware compatibility is not an issue, I can sort out that part.
I'm not using a IKS02A1. I simply want to add a PDM Mic to wherever the I2S can be 'alt-pinned'.
I'm experimenting with MXCube to generate various system clock configs and found a wealth of information in AN5027, RM0453 plus the comments section of stm32wlxx_hal_i2s.c.
I also have pdm_low_level_f401re.cpp to use as a template to write pdm_low_level_wl55jc.cpp.
Can you suggest any other soures of info/examples? I have an old F407-DISC somewhere - I suppose I could disect this too.
Definately stretching my capabilities, but I do like a challenge.
I'll keep chipping away however, as you suggest, any help from the community would be greatly appreciated.
M.
cparata
Posts: 7
Joined: Tue Aug 09, 2022 7:53 am

Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1

Post by cparata »

Hello @mick63,
I suggest to give a look at these videos:

https://www.youtube.com/watch?v=_YQSJJQUp-g
https://www.youtube.com/watch?v=a-diRANswfw
https://www.youtube.com/watch?v=5lH-tQw0tlU
https://www.youtube.com/watch?v=QgecXVmNyiI
https://www.youtube.com/watch?v=Ls1mXjlkJHk
https://youtube.com/watch?v=z25zckhHzC8

They give you a lot of information about audio concepts and audio peripherals. Above all Part 4, Part 5 and Part 6 are very useful for your use case.
I hope that it can help you.
Best Regards,
Carlo
Post Reply

Return to “General discussion”