cancel
Showing results for 
Search instead for 
Did you mean: 

BlueNRG-MS data throughput

ZSara
Associate

Hi,

I'm fighting with a low data throughput of the BlueNRG-MS. The BlueNRG based device acts as a peripherial and sends notifications periodicaly to PC or Android app. The problem is I'm not able to achieve a higher data rate than approx. 1 kB per second. BLE frame data size is 20 bytes.

How should I increase the data speed? I think the way is sending multiple packets within one connection interval but I don't know how to do this. Or is there another way?

Thanks a lot

Zdenek

1 REPLY 1
rdscliff
Associate II

I was fighting the same problem a while ago. Here are the things we did to get the throughput up and get multiple packets sent in one connection interval:

  • Don't wait for the command complete for each characteristic update. Just send the next one. BUT, you must make sure you handle the error code in command complete for Insufficient Resources. This means you sent too much and will have to resubmit the characteristic update.
  • Rotate characteristic updates through several characteristics. I didn't come up with this but another engineer said this increased throughput. Instead of sending 4 characteristic updates to one characteristics, send one to characteristic 1, the second to characteristic 2, etc.

Using these techniques, I was able to observe 2 to 4 packets sent per connection interval with a Bluetooth protocol analyzer.

If you need even more throughput, consider going to BlueNRG-2 with its higher MTU. With one big characteristic update, the L2CAP on the chip figures out how to pack the connection interval.