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.
X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1
Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1
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
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
Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1
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.
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.
Re: X-NUCLEO-IKS02A1-Audio PDM for STM32WL55JC1
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
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