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?

  • Hi

    You're looking at the L2CAP protocol, and in the sniffer trace you can see that the length comes after multiple L2CAP fragments before this notification. You see that the length of payload captured by the BLE sniffer is 38 bytes, and that the L2CAP fragments are reassembled from 10 different packets.

    Best regards,

    Simon

  • i have sent 252 bytes of data. then what is this 38bytes payload can you tell me. 

  • actually simon, i want to know all about:

    1). if i am sendinf 252 bytes from peripheral side then, how will this data be received in fragments on notification,

    2). i used power profiler kit PPK2 for ble_att_throughput example that multiple packets were formed per connection interval.

    3). in my case but i am only  able to get one packet per connection interval why is it so pls help

  • Hi again

    I'm struggling to understand exactly what you mean. Are you using an nRF52 DK or a custom board for these tests?

    1. Seeing as the L2CAP fragmentation is only able to pick up 27 bytes at a time it doesn't seem like you've set the MTU and data length correctly in your application. What application are you using on the nRF side exactly, and what phone and phone application are you using as a central device?

    2. Are you using the PPK2 to measure the power consumption on the transmitting device? Can you show me a screenshot of what you mean by "multiple packets were formed per connection interval", as that doesn't make much sense to me. The PPK2 measures the power consumption of a device, not what packets are sent or the size of them.

    3. I need more information on your application and what you're testing it on and against to provide further information on what is going on. From the sniffer trace there's no indication that you've set the MTU to more than 27 bytes.

    Best regards,

    Simon

  • 1). i am using SHT40 temp humidity sensor interfaced with nrf52832 dev kit.

    I have enabled notifications and getting data on nrf connect app for mobile .

    I am able to receive 252 bytes to this data in one notification as i have shared in sniffer.

    2). in ble_att_mtu_throughput example i can see multiple data packets in one connection interval but not in my case of SHT40 data.

    3). i want to check the throughput and power consumption for which i want to see how many packets are coming per connection interval

Related