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

nRF 52 Throughput with different phones

Hello,

I'm using BT840XE module and ATT_MTU Throughput Example with S140. My goal is to measure maximum data transfer speed between module and different phones. Module acts as peripheral and phone as master. For phones, I use nRF Connect app. 

Problem is that i get different data transfer speed with different phones. I measure how many data packets are send per connection interval. Every time BLE_GATTS_EVT_HVN_TX_COMPLETE arrives GPIO pin is toggled. And i see that some phones accept more packets per connection interval than others. Please see attached pictures. Samsung J7 accepts only 5 packets per connection interval and Google pixel a3 accepts packets in whole connection interval.

Settings:

Connection interval: 100ms

NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247

NRF_SDH_BLE_GAP_EVENT_LENGTH 300

My question is what could cause that huge differences in delivering data packets to phone? Maybe phones has some kind of limitation?

Best regards,

Rytis

Parents
  • Different phones have different behavior, yes. So throughput will vary from phone to phone. However, some phones may initiate parameter changes to increase the throughput, while others don't, and some simply do not support certain features.

    If you want to maximize throughput you should initiate these parameter changes from the nRF, such as requesting PHY change to 2MBPS, request to increase the MTU and DLE (Data length extension), request to increase Event Length, but in the end you will see that there will still be some differences between phones. Older phones don't support certain features. Samsung J7 is a bit old (Bluetooth 4.1 I think), so it will have significantly less throughput.

    Best regards,

    Edvin

Reply
  • Different phones have different behavior, yes. So throughput will vary from phone to phone. However, some phones may initiate parameter changes to increase the throughput, while others don't, and some simply do not support certain features.

    If you want to maximize throughput you should initiate these parameter changes from the nRF, such as requesting PHY change to 2MBPS, request to increase the MTU and DLE (Data length extension), request to increase Event Length, but in the end you will see that there will still be some differences between phones. Older phones don't support certain features. Samsung J7 is a bit old (Bluetooth 4.1 I think), so it will have significantly less throughput.

    Best regards,

    Edvin

Children
No Data
Related