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

How do I calculate throughput for a BLE Mesh?

Good day!

How can I calculate the maximum throughput for BLE Mesh running on the nRF52832 and the S132 without packet loss in ideal conditions?

I have tested throughput in BLE Mesh SDK v0.9.1 between two nodes and I was disappointed in very bad results.

Regards

Parents
  • What were your results and could you describe the test setup, i.e. advertisement interval , the number of nodes etc? The maximum payload is 11bytes and the latency per hop without any packet loss is (2ms + Advertising_Interval)/2 * no_of_hops. Based on that we should be able to calculate a theoretical value.

  • Hi,

    I have implemented a function for sending a message over mesh to a server node in the network, and now want to measure the throughput. I am having a hard time telling what size of the data that are sent. Let's say that I send a message by using access_model_publish method with data that is 8 bytes big(e.g."HiServer"), should I calculate the throughput based on 8 byte or the whole packet? E.g. 8 bytes * 8 / time_seconds. I am calculating the throughput like this right now and get a very low throughput around 400-500 bps? Am I doing something wrong? When reading the specifications, ideal throughput would be 1mbps, or am I wrong?

    Would be thankful for any kind of help

  • Bluetooth Low Energy uses a 1Mbit modulation, but the actual Link Layer throughput is limited to 702.8 kbps if you subtract all the overhead. This is with increased ATT and LL payload sizes(up to 247 and 251 respectively) supported by Bluetooth 4.2. You can see the throughput for the different configurations of our S132 SoftDevice here

    The Bluetooth Mesh on the other hand is based Bluetooth v4.0, i.e. LL payload of 27 bytes and ATT MTU size of 23, which leave you with a theoretical throughput of 192.0 kbps in a connection. However, due to additional overhead in the Mesh you're only able to fit 11 bytes payload bytes in the advertisement packet as opposed to 31 bytes in regular Bluetooth LE. 

    The theoretical throughput will therefore be as you have stated payload_size[bytes]*8bits/byte *Advertisement_Interval.

Reply
  • Bluetooth Low Energy uses a 1Mbit modulation, but the actual Link Layer throughput is limited to 702.8 kbps if you subtract all the overhead. This is with increased ATT and LL payload sizes(up to 247 and 251 respectively) supported by Bluetooth 4.2. You can see the throughput for the different configurations of our S132 SoftDevice here

    The Bluetooth Mesh on the other hand is based Bluetooth v4.0, i.e. LL payload of 27 bytes and ATT MTU size of 23, which leave you with a theoretical throughput of 192.0 kbps in a connection. However, due to additional overhead in the Mesh you're only able to fit 11 bytes payload bytes in the advertisement packet as opposed to 31 bytes in regular Bluetooth LE. 

    The theoretical throughput will therefore be as you have stated payload_size[bytes]*8bits/byte *Advertisement_Interval.

Children
Related