Throughput ATT_MTU

We are using nrf52832 soc for our product development and using that we are trying to increase the throughput of our device using the information from the following forum:
Novel Bits throughput guide 
In this forum it states that the Maximum GATT MTU SIZE possible is 247 bytes in which 244 bytes of data is the actual payload size and if the data is greater than the limit, then it will split into multiple packets. So we tried to send more that 247 bytes of data just to check how the data split in multiple packet is working. We tried to sent 256 bytes of data and we were able to get 255 bytes of data without any splitting, which is more than 247 bytes. So we are wondering what is the Maximum GATT MTU SIZE possible in nrf52832 soc. 
We also looked into the throughput example provided by the nordic (ble_app_att_mtu) and in that MTU size is set to 247 and data length is set to 251 which is less that what we are able to send from nrf52832 to phone, is there any possible explanation for this?

Parents
  • Hi

    The connection interval set in the connection (from the sniffer trace) seems to be 30ms, so I guess there will be a 30ms delay between data transfer events. It’s important to understand that multiple packets can be transferred during one connection event. Each OS/device (iOS, Android.. And their different versions etc) may have different max numbers of packets that is allowed per connection event. Smartphones also perform many tasks which means the data transfer may not occur at the calculated rate as well (the central device may be busy performing other tasks delaying the packet transfer process).

    So the calculated throughput (1.6kbits/s) will likely be close to the actual throughput, but as it is also affected by interference in the 2.4GHz spectrum, it's very hard to say what the exact throughput will be for your specific connection.

    Best regards,

    Simon

Reply
  • Hi

    The connection interval set in the connection (from the sniffer trace) seems to be 30ms, so I guess there will be a 30ms delay between data transfer events. It’s important to understand that multiple packets can be transferred during one connection event. Each OS/device (iOS, Android.. And their different versions etc) may have different max numbers of packets that is allowed per connection event. Smartphones also perform many tasks which means the data transfer may not occur at the calculated rate as well (the central device may be busy performing other tasks delaying the packet transfer process).

    So the calculated throughput (1.6kbits/s) will likely be close to the actual throughput, but as it is also affected by interference in the 2.4GHz spectrum, it's very hard to say what the exact throughput will be for your specific connection.

    Best regards,

    Simon

Children
  • Hello,

    1). May i know how can we set multiple packets per connection interval?

    2). The throughput you have found pls consider ATT MTU bytes also

    3). Actually i aim to compare LE 2M and LE 1M for throughput. I made different combinations and checked using BLE 5.0 and BLE 4.2 i.e LE 2M and LE 1M resp.

    checked for both 5.0 and 4.2

    a). with 7.5-100ms CI :

    27 bytes of ATT MTU 

    158 bytes of ATT MTU 

    247 bytes of ATT MTU 

    b). 

    a). with 1000-1000ms CI :

    27 bytes of ATT MTU 

    158 bytes of ATT MTU 

    247 bytes of ATT MTU 

    Simonr ideally LE 2M is much faster than LE 1 M. Can you make some inferences from the traces i am sharing. 

    Pls help how can i do so.

    5.0_WireShark_PhoneLogs.rar

    4.2_WireShark_PhoneLogs.rar

Related