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

Regarding BLE data transfer speed

Hi Team,

We are using nRF 52840 chip for our development of product.

As of now the settings for BLE data transfer are as below.

MIN_CONN_INTERVAL   20 // which is the min required
MAX_CONN_INTERVAL  2500 //max required.

Currently when we are transferring file (large single file) we are getting around 8KBPS,(+/- 1 KBPS) which is as per specification of BLE5 is  less.

we have both BLE5 device (transmit and receiving end). 

There are lot of suggestions were there for this., But after trying some of them, still not able to narrow down anyone for increasing speed.

So, Could you provide your suggestions for increasing the speed. 

Thanks

Parents Reply Children
  • Hi ,
    Thank you for response.

    I have already went through above mentioned links. 

    MTU Length :- 256 (which is max allowed)
    PHY - LE 2
    Connection event length we have kept variable for slave device to connect(according to my knowledge).
    I have tried using PC - Linux- Ble , nrf52840 -DK, Rasp. (with 5.0 BLE) .
    But same the speed is not getting increased. 

    Could you suggest some test which you might have conducted and scenario, I can try them and check your recommendation for max. throughput. 

    Thanks,

  • You need to log the connection parameters the are negotiated for your specific link otherwise we're just fumbling in the dark. There's not much that can be done to change the state if we do not know what the current state is.

  • Hi ,

    Sorry,

    forgot to mention connection interval time.

    MAX_CONN_INTERVAL 5; //in 1.25 ms units.

    MIN_CONN_INTERVAL 3; //in 1.25 ms units.

    GATT_MAX_MTU_SIZE 247, 

    Thanks,

  • Your values are invalid. The minimum connection interval is 7.5ms. When your minimum and maximum values are outside of what the given stack you're connected is able to give you, you will usually get a default value that is usually very large. 

    Again, a log would tell you the actual values that your link is given after parameter negotiations. The values that you set MAX_CONN_INTERVAL, etc, to are desired values, they are not hard-coded, but rather it tells the Central stack what values you would prefer to get.  

  • Hi, 
    Ok,  how the log should be produced, 
    Using sniffer, or Can I use the Default DK (nrf52840 ) as sniffer and get it.?

    Thanks,