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

BLE Mesh Development - nRF52840

Hi

I am going to start an application with the mesh network. Here is my requirement,

1. I have to receive the data from the master device (STM32) by using SPIS (nRF52840). Then the received data has sent to the node.

 The size of the data which we received via SPIS is 240 bytes. So I have to send 240 bytes of data to the mesh network. 

What is the size of a packet(message) and how many bytes of data can we send at a time in the mesh network?

2. Which SDK is best to start Mesh according to our requirement (nRF5 SDK / nRF Connect SDK)? If the choice is nRF Connect SDK then how can I integrate the SPIS code with Mesh example?

3. Which Mesh example code have to select to customize according to our requirement?

  • Hi,

    1. Any packet with size larger than 11 bytes (including header) will be split into segmented messages automatically. But the maximum possible segmented payload size is 380 so it will fail if you have a higher payload. Just note that Bluetooth mesh is not optimal for sending a lot of data as it is not intended for data streaming.

    2. Both SDKs can be used according to your requirements. Though it might be easier to use the nRF5 SDK for Mesh, as we have documentation on how to include resources from nRF5 SDK in an existing Bluetooth mesh project or include nRF5 SDK for Mesh functionalities in an nRF5 SDK example. 

    The nRF Connect SDK don't have specific guide for adding extra resources but perhaps look at the zephyr documentation, including the devicetree guide, and the device model. There are a lot of samples on driver usage both in NCS and Zephyr, those are a good starting point. 

    3. The light switch example is the easiest example to start out with. It shows how you can send messages through the network.

  • Hi 

    I have started with the latest nRF Connect SDK (v1.5.1) and found the Mesh-Chat example code. Its looks were similar to our requirement.

    1. Actually, we are building audio over BLE Mesh. The audio packet will get it from another device via SPI and then the received packet will publish to the mesh group. The nRF mesh app is using for provisioning.

    Is it possible to do with a mesh chat example?

    2. Is Bluetooth mesh supports Bluetooth 5 features such as advertising extensions and the long-range mode (coded PHY).?

    3. How can we use Nordic Advertiser Extensions (Instaburst) feature in this mesh chat example code to get higher throughput?

    4. How do I configure a Node as RELAY Node?. Does the Given Mesh-Chat example support the Relay node feature?

  • Hi,

    1. Is that small clips, or continuous streaming? Like I mentioned before, Bluetooth mesh is not intended for data streaming. 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. There aren't standardized audio profiles in Bluetooth Mesh.

    2. The Bluetooth Mesh specification is based on v4.0 and does not support Bluetooth 5 features.

    3. You can configure the relay node with this CONFIG_BT_MESH_RELAY. The example should have this feature enabled by default.

  • Hi 

    We are trying to build continuous streaming audio over BLE Mesh.

    1. Is it possible to do a Nordic Advertiser Extensions (Instaburst) to get higher throughput (transmit audio packet)? Is there any example code for this experiment?

    2. Is this feature available in nRF Connect SDK? Can we use this feature in the mesh chat example code?

  • Hi,

    You will get higher throughput by using the Instaburst feature but it might not be enough for streaming audio, It depends on how much throughput you need and the quality of the audio. Unfortunatetly, we don't have any examples for this.

    No, we don't have this feature in nRF Connect SDK.

    Also note that instaburst is a Nordic proprietary feature that does not adhere to the Bluetooth Mesh specification.

Related