Bluetooth low energy features

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

GAP, GATT, SM, and L2CAP are implemented in the SoftDevice and managed through the 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 BLE API is consistent across Bluetooth role implementations where common features have the same interface. The following tables describe the features found in the BLE protocol stack.

Table 1. API features in the BLE 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
Table 2. GAP features in the BLE stack
GAP features Description

Multirole

Central, Peripheral, Observer, and Broadcaster can run concurrently with a connection.
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 BLE stack
GATT features Description
Full GATT Server

Support for one ATT server per concurrent connection. Includes configurable Service Changed support.

Support for authorization

Enables control points.

Enables freshest data.

Enables GAP authorization.

Full 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. Security Manager (SM) features in the BLE stack
Security Manager 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 MITM (man-in-the-middle) 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. Attribute Protocol (ATT) features in the BLE 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. Controller, Link Layer (LL) features in the BLE stack
Controller, Link Layer features Description

Master role

Scanner/Initiator roles

The SoftDevice supports multiple concurrent master connections and an additional Scanner/Initiator role. When the maximum number of simultaneous connections are established, the Scanner role will be supported for new device discovery. However, the Initiator is not available at that time.
Channel map configuration

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

Accepting update for the channel map for a slave connection.

Slave role

Advertiser/broadcaster role

The SoftDevice supports multiple concurrent peripheral connections and an additional Advertiser. The Advertiser can only be started if the number of connections running is less than the maximum. The SoftDevice also supports one Broadcaster simultaneously.
Master-initiated connection parameter update Central role may initiate connection parameter update. Peripheral role will accept connection parameter update.
LE Data Packet Length Extension (DLE) Up to 251 bytes of LL data channel packet payload. Both central and peripheral roles are able to initiate DLE update procedure, and respond to a peer-initiated DLE update procedure.
Encryption  
RSSI

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 7. Proprietary features in the BLE stack
Proprietary features Description
TX Power control Access for the application to change TX power settings anytime.
Master Boot Record (MBR) for Device Firmware Update (DFU) Enables over-the-air SoftDevice replacement, giving full SoftDevice update capability.

Documentation feedback | Developer Zone | Subscribe | Updated 2017-03-10