This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is it feasible to transmit 16bit 16KHz PCM audio via Nrf52840?

I'm using Nrf52840 as the MCU for my circuit board, now I need to use it to transmit audio data which is 16bit, 16KHz PCM format(mono channel, therefore 256 Kbps) to the external device(mobile phone). Is that feasible to implement this with Nrf52840 without audio compression? Does bluetooth 5 of Nrf52850 has the enough bandwidth to do so? If yes, is there any example codes that I can refer to? Thanks in advance.   

Parents Reply Children
  • Example used for measurements:
    nRF5_SDK_15.2.0_9412b96\examples\ble_central_and_peripheral\experimental\ble_app_att_mtu_throughput

    Connection interval: 23.75ms
    Packet size: DLE : 251 bytes
    On air encoding: 1Mbps
    Time taken to transfer 1Mbyte from nRF52840 peripheral to central : ~12.9 seconds (approximately 650kbps)
    Packets lost to CRC errors : 0

    Looks like DLE is required at a minimum as a 27 byte RF packet seems to be too small for the 256kbps bandwidth.
    2Mbps on air will be better but the number of phones supporting 2Mbps on air will be smaller.
    connection intervals like 23.75ms performed better than connection intervals like 7.5ms, likely due to more large packets fitting in an longer connection interval.

    =

    The closest example for microphone integration would be the Smart Remote 3 reference design.

    See the code and documentation here
    Caveat: the Smart remote 3 uses an older SDK version and you will need to upgrade it to get it to work with the latest SDK version.

Related