2025-11-20 11:43 AM
Hi,
I'm looking for some guidance on configuring the STM32N6570-DK so i can use the screen and onboard mic / headphone out jack.
It looks like everything i need is in stm32n6570_discovery_audio.h and stm32n6570_discovery_lcd.h, and i did manage to get the screen going with some configuration from this repo: https://github.com/jpcano/STM32N6-digits
When I then try and enable audio the following calls succeed:
void Audio_Setup(void)
{
AudioInit.Device = AUDIO_IN_DEVICE_DIGITAL_MIC;
AudioInit.SampleRate = AUDIO_FREQUENCY_16K;
AudioInit.BitsPerSample = AUDIO_RESOLUTION_16B;
AudioInit.ChannelsNbr = 1;
AudioInit.Volume = 80;
if (BSP_AUDIO_IN_Init(0, &AudioInit) != BSP_ERROR_NONE)
{
Error_Handler();
}
if (BSP_AUDIO_IN_Record(0, AudioBuffer, AUDIO_BUFFER_SIZE) != BSP_ERROR_NONE)
{
Error_Handler();
}
}
after this the transfer callbacks never get hit and any calls to drawing the screen, HAL functions like UART sending or blinking a led also stop working.
I did try the STM32N6570-DK/Examples/MDF/MDF_AudioRecorder (no callbacks received in that) and the se example from https://github.com/STMicroelectronics/STM32N6-GettingStarted-Audio which gave garbled audio.
What steps do I need to take to setup the onboard mic properly?
Thanks
2025-12-02 3:47 AM
Board: STM32N6570-DK
Revision ID: Rev B
MCU Package: https://github.com/STMicroelectronics/STM32CubeN6/releases/tag/v1.3.0
Some more observations:
MDF_AudioRecorder from STM32CubeN6/Projects/STM32N6570-DK/Examples/MDF/MDF_AudioRecorder
void HAL_MDF_AcqCpltCallback(MDF_HandleTypeDef *hmdf)
void HAL_MDF_AcqHalfCpltCallback(MDF_HandleTypeDef *hmdf)do get called.
Steps to reproduce:
Expected:
Audio passthrough from onboard digital mic to headphones
Actual:
No audio to headphones
STM32N6-GettingStarted-Audio/blob/main/Projects/GS
This uses a modified version of stm32n6570_discovery_audio.c that appears to switch the clocking which BSP expects from HSE to HSI.
Steps to reproduce:
Expected:
Some level of mic passthrough with some level of speech enhancement applied
Actual:
Garbled sounds when speech enhancement is active
Loud random noise when bypass is enabled
BSP Direct (with and without stm32n6570_discovery_audio.c
patches from STM32N6-GettingStarted-Audio)
using instance 0 or 1 (sai / mdf?)
BSP_AUDIO_IN_Init
BSP_AUDIO_IN_Recordboth return BSP_ERROR_NONE
BSP_AUDIO_IN_HalfTransfer_CallBack
BSP_AUDIO_IN_TransferComplete_CallBackare called as expected. Assigned buffer is modified but contains random noise which changes every callback. This is similar to the noise from the STM32N6-GettingStarted-Audio example in bypass mode.
Has anyone had any success capturing audio from the onboard mic on this board? Is there a minimal example anywhere of how this is supposed to work?