Datasheet

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.
UPDATE: For more specific details on the limitations of various Android versions and phones, see this helpful post from Nordic
Semiconductors (http://adafru.it/sKc).
Can my Bluefruit board detect other Bluefruit boards or Central devices?
No. All of our Bluefruit LE modules currently operate in peripheral mode, which means they can only advertise their own existence via the
advertising payload. The central device (usually your phone or laptop) is responsible for listening for these advertising packets, starting the
connection process, and inititating any transactions between the devices. There is no way for a Bluefruit module to detect other Bluefruit modules
or central devices in range, they can only send their own advertising data out and wait for a connection request to come in.
How can I determine the distance between my Bluefruit module and my phone in m/ft?
The short answer is: you can't.
RF devices normally measure signal strength using RSSI, which stands for Received Signal Strength Indicator, which is measured in dBm. The
closer the devices are the strong the RSSI value generally is (-90dBm is much weaker than -60dBm, for example), but there is no reliable
relationship between RSSI values in dBm and distance in the real world. If there is a wall between devices, RSSI will fall. If there is a lot of
interference on the same 2.4GHz band, RSSI will fall. Depending on the device, if you simply change the antenna orientation, RSSI will fall. You
can read the RSSI value between two connected devices with the AT+BLEGETRSSI command, but there are no meaningful and repeatable
conclusions that can be drawn from this value about distance other than perhaps 'farther' or 'closer' in a very loose sense of the terms.
How far away from my phone can I have my Bluefruit LE module?
This depends on a number of factors beyond the module itself such as antenna orientation, the antenna design on the phone, transmit power on
the sending node, competing traffic in the same 2.4GHz bandwidth, obstacles between end points, etc.
It could be as low as a couple meters up to about 10 meters line of sight, but generally Bluetooth Low Energy is designed for very short range and
will work best in the 5-6 meter or less range for reliable communication, assuming normal Bluefruit firmware settings.
How many GATT services and characteristics can I create?
For firmware 0.7.0 and higher, the following limitations are present:
Maximum number of services: 10
Maximum number of characteristics: 30
Maximum buffer size for each characteristic: 32 bytes
Maximum number of CCCDs: 16
Is it possible to modify or disable the built in GATT services and characteristics (DIS, DFU, etc.)?
No, unfortunately you can't. We rely on the Device Information Service (http://adafru.it/q9E) (DIS) contents to know which firmware and bootloader
version you are running, and wouldn't be able to provide firmware updates without being able to trust this information, which i why it's both
mandatory and read only.
Similarly, the DFU service is mandatory to maintain over the air updates and disabling it would create more problems that it's presence would
cause.
How can I use BlueZ and gatttool with Bluefruit modules?
BlueZ has a bit of a learning curve associated with it, but you can find some notes below on one option to send and receive data using the BLE
UART Service built into all of our Bluefruit LE modules and boards.
These commands may change with different versions of BlueZ. Version 5.21 was used below.
# Initialise the USB dongle
$ sudo hciconfig hci0 up
# Scan for the UART BLE device
$ sudo hcitool lescan
D6:4E:06:4F:72:86 UART
© Adafruit Industries
https://learn.adafruit.com/introducing-the-adafruit-bluefruit-le-uart-
friend
Page 109 of 115