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

Is BLE-Mesh capable to transmit audio?

Hello,

We are using nRF52840 and Thread SDK to build a mesh network. At present, we only need to transmit data frames. But, in the near future we would like to transmit/receive audio.

As I think that Thread is not capable to transmit audio, and, at the same time is seems that BLE 5 is capable for that, I would like to ask if this audio can be transmitted in a BLE-Mesh network. So, this way, the audio can be transmitted/received from/to any node in the network (even if there is no direct radio range).

Thanks in advance.

Epenciso

Parents
  • Hello,

     

    in the near future we would like to transmit/receive audio.

     Is that small clips, or continuous streaming? The reason that I ask is that the low power network protocols doesn't have that much throughput. The throughput of a bluetooth mesh network decreases quite rapidly when the number of nodes increase. 

    Openthread behaves a bit different than Bluetooth Mesh, but the throughput will decrease depending on how many hops you need between two nodes. You can read about it in the end of this report:

    https://openthread.io/testing/OpenThread_Quality_Dashboard.pdf

    So, there aren't any standardized audio profiles in neither Bluetooth Mesh nor OpenThread (thread SDK), or in Zigbee for that matter. But you may be able to do some proprietary stuff. However, depending on the amount of data you need, you need to be aware that throughput will be something that you need to take into consideration.

    That being said. BLE will have the throughput you need to transfer OK quality sound. 1.3Mbps is the maximum throughput under ideal conditions. Note that this is only with one link. The reason that BLE is not typically used for sound is that there is no way to discard packets. So if you have some packet loss, it isn't possible to discard any packets in BLE. It will either be sent, or die (loose the connection) trying.

    Best regards,

    Edvin

  • Thank you, Edvin, for your comments which are quite interesting.

    So, any hop will decrease throughput. We are not considering high quality audio transmission. We want to focus on transmit continuous transmission for reduced time, say about few minutes per day. Audio should be both direcctions, Tx and Rx.

    What interface will be preferable for non-high quality, Ts/Rx audio, but good throughput? I2S or PDM?

    Do you know any driver for OpenThread or BLE-Mesh audio transmission?

    Best regards

    Epenciso

Reply
  • Thank you, Edvin, for your comments which are quite interesting.

    So, any hop will decrease throughput. We are not considering high quality audio transmission. We want to focus on transmit continuous transmission for reduced time, say about few minutes per day. Audio should be both direcctions, Tx and Rx.

    What interface will be preferable for non-high quality, Ts/Rx audio, but good throughput? I2S or PDM?

    Do you know any driver for OpenThread or BLE-Mesh audio transmission?

    Best regards

    Epenciso

Children
  • I don't know what throughput you imagine, but realtime audio over low powered networks is a challenge. You will have to experiment. There are no solutions/drivers in OpenThread or Bluetooth Mesh for audio transmission.

     

    epenciso said:
    What interface will be preferable for non-high quality, Ts/Rx audio, but good throughput? I2S or PDM?

     So not over radio? Any of them would work, I assume. You can test the I2S loopback example in the SDK. We have PDM drivers as well, but no example to show it. 

    Alternatively, you can look at the usbd_audio example.

    BR,

    Edvin

Related