Bluetooth Low Energy features

The Bluetooth® Low Energy protocol stack in the SoftDevice has been designed to provide an abstract but flexible interface for application development for Bluetooth Low Energy devices.

Generic Access Profile (GAP), Generic Attribute Protocol (GATT), Security Manager (SM), and Logical Link Control and Adaptation Protocol (L2CAP) are implemented in the SoftDevice and managed through the Application Programming Interface (API). The SoftDevice implements GAP and GATT procedures and modes that are common to most profiles such as the handling of discovery, connection, data transfer, and bonding.

The Bluetooth Low Energy API is consistent across Bluetooth role implementations where common features have the same interface. The following tables describe the features found in the Bluetooth Low Energy protocol stack.

Table 1. API features in the Bluetooth Low Energy stack
API features Description
Interface to GATT/GAP Consistency between APIs including shared data formats
Attribute table sizing, population, and access Full flexibility to size the attribute table at application compile time and to populate it at run time. Attribute removal is not supported.
Asynchronous and event driven Thread-safe function and event model enforced by the architecture
Vendor-specific (128-bit) UUIDs for proprietary profiles Compact, fast, and memory efficient management of 128-bit UUIDs
Packet flow control Full application control over data buffers to ensure maximum throughput
Application control of PHY Full application control over the PHYs negotiated in connections
Application control of MTU size and packet length Full application control of MTU size and packet length used in connections
Scanner and initiator configured for multiple PHYs If the application does not know which PHY the peer devices will advertise on, it can enable the scanner or initiator for all PHYs
Table 2. GAP features in the Bluetooth Low Energy stack
GAP features Description
Multirole Central, Peripheral, Observer, and Broadcaster can run concurrently with connections.
Multiple bond support Keys and peer information stored in application space.

No restrictions in stack implementation.

Security Mode 1, Levels 1, 2, 3, and 4 Support for all levels of SM 1
Table 3. GATT features in the Bluetooth Low Energy stack
GATT features Description
GATT Server Support for one Attribute Protocol (ATT) server for all connections

Includes configurable Service Changed support

Support for authorization Enables control points

Enables the application to provide fresh data

Enables GAP authorization

GATT Client Flexible data management options for packet transmission with either fine control or abstract management.
Implemented GATT Sub-procedures Exchange MTU

Discover all Primary Services

Discover Primary Service by Service UUID

Find included Services

Discover All Characteristics of a Service

Discover Characteristics by UUID

Discover All Characteristic Descriptors

Read Characteristic Value

Read using Characteristic UUID

Read Long Characteristic Values

Read Multiple Characteristic Values (Client only)

Write Without Response

Write Characteristic Value

Notifications

Indications

Read Characteristic Descriptors

Read Long Characteristic Descriptors

Write Characteristic Descriptors

Write Long Characteristic Values

Write Long Characteristic Descriptors

Reliable Writes

Table 4. SM features in the Bluetooth Low Energy stack
SM features Description
Flexible key generation and storage for reduced memory requirements Keys are stored directly in application memory to avoid unnecessary copies and memory constraints.
Authenticated Man-in-the-Middle (MITM) protection Allows for per-link elevation of the encryption security level.
Pairing methods:

Just works, Numeric Comparison, Passkey Entry, and Out of Band

API provides the application full control of the pairing sequences.
Table 5. ATT features in the Bluetooth Low Energy stack
ATT features Description
Server protocol Fast and memory efficient implementation of the ATT server role
Client protocol Fast and memory efficient implementation of the ATT client role
Configurable ATT_MTU size Allows for per-link configuration of ATT_MTU size
Table 6. L2CAP features in the Bluetooth Low Energy stack
L2CAP features Description
LE Credit-based Flow Control Mode Configurable support for up to 64 channels on each link
Table 7. LL features in the Bluetooth Low Energy stack
LL features Description
Master role

Scanner/initiator role

The SoftDevice supports multiple concurrent central connections and an additional scanner or initiator role. The initiator role is not available when the number of available simultaneous connections has been reached, but the scanner role is still supported for new device discovery.
Slave role

Advertiser role

The SoftDevice supports multiple concurrent peripheral connections and an additional broadcaster or connectable advertiser. The connectable advertiser cannot be started when the number of available simultaneous connections has been reached, but the advertiser can still be started as a broadcaster.
Channel map configuration

Setup of channel map for all central connections from the application.

Accepting update for the channel map for a peripheral connection.

Master-initiated connection parameter update Central role may initiate connection parameter update. Peripheral role will accept connection parameter update.
LE Extended Advertising Scanning, advertising, and connecting on all supported PHYs.

Sending and receiving up to 255 bytes of advertising data using chained advertisements.

Anonymous advertising.

LE Data Packet Length Extension (DLE) Up to 251 bytes of Link Layer (LL) data channel packet payload. Both central and peripheral roles are able to initiate a Data Length Update procedure and respond to a peer-initiated Data Length Update procedure.
LE 1M PHY

LE 2M PHY

LE Coded PHY

LE connections transmitting and receiving packets on all PHYs. Both symmetric connections (where the TX and RX PHYs are the same) and asymmetric connections (where the TX and RX PHYs are different) are supported. Both central and peripheral roles are able to initiate a PHY update procedure and respond to a peer-initiated PHY update procedure.
Encryption  
RSSI

Channel-specific signal strength measurements during advertising, scanning, and central and peripheral connections.

LE Ping  
Privacy

The LL can generate and resolve resolvable private addresses in the advertiser, scanner, and initiator roles.

Extended Scanner Filter Policies  
Table 8. Proprietary features in the Bluetooth Low Energy stack
Proprietary features Description
TX Power control Access for the application to change transmit power settings for a specific role or connection handle.
MBR for Device Firmware Update (DFU) Enables over-the-air firmware replacement, including full SoftDevice update capability.
Quality of Service (QoS) channel survey Measures the energy level of Bluetooth Low Energy channels. The application can then set an adapted channel map to avoid busy channels.
Channel map for Observer role Access for the application to set a channel map for the Observer role. This can be used to avoid busy or uninteresting channels.