This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Max packet size allowed for BLE communication

Other Parts Discussed in Thread: CC2541

Hi,

 

Does anyone know what the maximum packet size is for a BLE message? I have a need to send and receive 80 byte messages. Thanks.

 

-Rich

 

  • 80bytes user data per connection interval (limitation of our implementation)

    Min BLE spec connection interval = 7.5ms

    Max data rate   = 10640 bytes per second

    This is probably a little optimistic,  but 8-9K should be fine.

  • When you use GATT protocol (the only protocol currently available to the application layer) , the maximum user data in packet is 20 bytes (for example in write or writeNoResponse commands). 

    From tests I have made, the theoretical data rate based on calculation of 4 packets send in every connection event is not achieved in practice.

    I noticed that at low connection intervals (< 100ms) the stack usually sends 3 messages per connection event (if maximum packet size is used). 

    But as Chatto wrote, 8Kbytes/sec is achievable. 

     

  • I am using modified SimpleBLEPeripheral firmware on a circuit I designed with a CC2541, and even after setting the Connection Interval parameter to its minimum value (6, for 7.5ms), I am only able to send back to back notifications with a ~65ms delay between the receipt of each notification reported by BTool using the USB Dongle from the TI Dev Kit. I am observing two things, I think:

    1) Only one notification event per interval

    2) Intervals are much longer than 7.5ms

    Do you have any ideas as to what I'm missing here? Thanks!

  • Hi Miles,

    The (virtual) UART communication is the bottleneck, it takes up too much time which cant be fit between the connection events.

    Best Regards