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.

CC2541: Fast Data with Notify or Character Read?

Part Number: CC2541
Other Parts Discussed in Thread: CC2640R2F

Hi! I have about 5kb of data i want to send over BLE as fast as possible. I use a CC2541 with a modified SimpleBLEperipheral to send the data to my Windows 10 app.

I can send in two ways:

1) I send a char4 notify and read 20 byte from char5. Modify char5 and send a notify again, ect... This is a slow but save way to get the data is this correct?

2) I send 20 byte directly with a char4 notify. This should be much faster?

For testing i have reduced the peridoic event to like 10 ms per 20 byte. So i need to send like 200+ notifications to get all my data over BLE.

Is this legit? What should be the shortest duration beween notifications? Would 1ms also be possible?

Or should i think of using a standard bluetooth device instead of LE?

Thanks in advance.

Lars

  • Hello Lars,

    There is nothing wrong with your approach. If you are using GATT Notifications, your application will need to ensure that you have end-to-end data transfer, although BLE will ensure that there are no Link Layer errors. One way can be to add a sequence header in your data packet. One example is to use the Serial-to-BLE Bridge V 1.4.1 which is found on the TI BLE Wiki under CC254x Embedded Examples.

    The rate of data you can xfer will be based on the connection interval and number of packets your peer device can accept per connection event.

    In general, if you need performance transfers, I suggest using CC2640R2F which has support for Bluetooth 5.

    Best wishes