Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to increase the BLE speed?

How much time translate 8k Bytes by nrf52832?

How to translate the 8K Bytes in one second?

  • Hi

    The nRF52832 running S132 v5 or later can get very close to the theoretical maximum data transfer rate in BLE, which is approximately 760kbps in normal mode (BT 4.2) or 1360kbps in high speed mode (BT 5). 

    This means it should take approx. 84ms to send 8KB in normal mode versus 47ms in high speed mode. 

    If you have one nRF52832 talking to another this is the speed you can expect, but if the peer is some other device (like a smart phone or PC) then it is harder to predict what the speed will be, since the peer could have it's own limitations. 

    As an example, when running the BLE image transfer demo the nRF52832 can do up to 1200kbps when talking to a Samsung Galaxy S8, and up to 670kbps when talking to a iPhone 8 in high speed mode. In normal mode the speed will be around half of that on both devices. 

    Can you let me know what kind of device you are planning to use on the peer side?

     

    Best regards
    Torbjørn

  • The picture shows the valid data is 20 bytes. According to your explain,is no problem translate 8K data in one second. In other words, the BLE send pack up to about 400 times/s .

  • Hi

    BLE can send packets at a rate of 400 times/s or more, yes, if you have the right connection parameters (a smaller connection interval allows you to send more packets per second). 

    The picture you sent is probably based on the Bluetooth 4.0 specification, where 20 bytes of user data was the maximum for each packet in a connection.
    Bluetooth 4.2 increased this to 244 bytes of user data per packet, which means most current Bluetooth hosts can translate 8K of data in much less packets than what you would have required before. 

    Best regards
    Torbjørn Øvrebekk

  • Hi, 

        We know the speed can be improved a lot. I also would like to know what is the interval of each packets to send?

  • Hi Stanley

    The packet interval is primarily set by the connection interval, which can be between 7.5ms and 4 seconds in BLE. 

    At minimum you can send a single packet per connection interval, but most BLE devices support multiple packets being sent back to back on each connection interval, allowing you to increase the data throughput. 

    Best regards
    Torbjørn

Related