user P520
user P520

Reputation: 317

Do Adafruit libraries for BLE tasks sacrifice performance?

Does the Adafruit_BluefruitLE_nRF51 library sacrifice BLE speed for functionality and compatibility with adafruit's other devices? In adafruit's BLE FAQ page they have this section:

What is the theoretical speed limit for BLE?

This depends on a variety of factors, and is determined by the capabilities of the central device (the mobile phone, etc.) as much as the peripheral. Taking the HW limits on the nR51822 into account (max 6 packets per connection interval, and a minimum connection interval of 7.5ms) you end up with the following theoretical limits on various mobile operating systems:

iPhone 5/6 + IOS 8.0/8.1
6 packets * 20 bytes * 1/0.030 s = 4 kB/s = 32 kbps
iPhone 5/6 + IOS 8.2/8.3
3 packets * 20 bytes * 1/0.030 s = 2 kB/s = 16 kbps
iPhone 5/6 + IOS 8.x with nRF8001
1 packet * 20 bytes * 1/0.030 s = 0.67 kB/s = 5.3 kbps
Nexus 4
4 packets * 20 bytes * 1/0.0075 s = 10.6 kB/s = 84 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.9.0
1 packet * 20 bytes * 1/0.0075 = 2.67 kB/s = 21.33 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.11.0
6 packets * 20 bytes * 1/0.0075 = 16 kB/s = 128 kbps

There are also some limits imposed by the Bluefruit LE firmware, but we are actively working to significantly improve the throughput in the upcoming 0.7.0 release, which will be available Q2 2016. The above figures are useful as a theoretical maximum to decide if BLE is appropriate for you project or not.

I have also noticed some odd examples of how they send data through BLE in their examples found in the library, and it simply seems inefficient.

I have to use BLE on adafruit's BLE SPI Friend very reliably with about the highest bandwidth I can pull from it along with an STM32 SPI-enabled microcontroller.. Should I refrain from picking this library due to poor performance? Should I use something like a Nordic Semiconductors IDE for best performance? Any other suggestion?

Upvotes: 1

Views: 106

Answers (1)

MaliceInWonderland
MaliceInWonderland

Reputation: 81

The nRF52832 easily does 700kbps on its own, just FYI.

Upvotes: 0

Related Questions