Skip to main content
Visitor II
May 11, 2021
Question

Hi, I can't use the MP34DT01 built-in microphone of the B-L475E-IOT01A board. Does anyone know how to do it?

  • May 11, 2021
  • 2 replies
  • 1171 views

Hi, I'm developing my first project on an embedded system, more specifically I'm using the B-L475E-IOT01A board. My idea is to use the MP34DT01 built-in microphone but I'm having a number of problems:

  • BPS audio drivers for the board do not seem to be available
  • can't find sample code that uses built-in microphones

I tried to follow a couple of guides but I had no success.

Should I use the BSP drivers or do I need to interface directly with the internal DFSDM device? I'm having trouble understanding how to interface with them on the software side of things. Could anyone point me to any guide or other resources?

    This topic has been closed for replies.

    2 replies

    ST Employee
    May 11, 2021

    Hi @FBarb.2​ ,

    are you starting from scratch with your project? especially with audio devices it is a hard task.

    I would suggest to check out the FP-AI-SENSING1 function pack.

    here, selecting the project for the B-L475E-IOT01A board, you can find the flow of audio signal from raw data to final processing.

    moreover, audio drivers are present in the project, so you can use them directly if you like to.

    Let me know if this helps

    Niccolò

    FBarb.2Author
    Visitor II
    May 19, 2021

    Thanks for the reply.

    The FP-AI-SENSING1 function pack is very complex and supports many features, but from what I understand the idea is to:

    • initialize the microphone
    • call the BSP_AUDIO_IN_Record () function to record the audio
    • wait for BSP to invoke the callback relating to BSP_AUDIO_IN_Record (). But what are these callbacks?
    • close the connection with the microphones

    Is this approach correct?

    One last thing: is it also necessary to enable dfsdm from cubeMX or is the default configuration sufficient?

    ST Employee
    May 21, 2021

    Hi @FBarb.2​ ,

    yes, the approach is correct.

    you can find the callbacks you are looking for in the sensortile.box_audio.c in the FP-AI-SENSING1, they are

    HAL_DFSDM_FilterRegConvHalfCpltCallback and HAL_DFSDM_FilterRegConvCpltCallback

    in this pack these functions use a multibuffer approach, so that a part of a signal can be processed while the other part is being recorded.

    and yes, the dfsdm filter should be turned on (I don't remember if the default configuration enables it)

    let me know if you have any more questions

    Niccolò