The XBee 3 BLU device uses Bluetooth Low Energy (BLE), a wireless communication technology designed for short-range data exchange with minimal power consumption.
It operates on the same 2.4 GHz frequency, as classic Bluetooth, but is optimized for applications requiring lower data rates and intermittent data transfer, such as smart home devices, health monitors and more.
Depending on your use case, you may need to develop BLE-capable apps for mobile devices to communicate with your XBee 3 BLU modules. To get started with mobile app development, visit Bluetooth application development. |
How BLE devices advertise
BLE devices communicate by broadcasting advertisements, small packets of data that let nearby devices know they are available for connection. This allows devices such as smartphones to discover and interact with the XBee module.
By default, the advertisement data exposed by XBee 3 BLU devices includes:
-
Complete Local Name: This field contains the product name, which is used to identify the XBee 3 BLU during device scans.
-
Available BLE services: These define the functionality the XBee 3 BLU offers and what type of data it can share.
One of the use cases of the XBee 3 BLU device is the Beacon advertiser, which shows you how to configure your XBee 3 BLU to advertise custom data. |
Bluetooth services on the XBee 3 BLU
The XBee 3 BLU comes with predefined services and characteristics, which define how the module communicates over BLE.
XBee 3 BLU supports both GATT server and client modes, which allow the module to either advertise data (server mode) or request it from other BLE devices (client mode).
The available services of a XBee 3 BLU device are:
You cannot add, remove or modify any services and/or characteristics supported by the XBee 3 BLU module. |
To learn more about BLE services and characteristics, see BLE reference. |
Device Information Service
The Device Information Service provides essential details about the device, such as manufacturer, model and firmware revision, allowing the connected device to gather information about the XBee module.
XBee API BLE Service
UUID: 53da53b9-0447-425a-b9ea-9837505eb59a
.
The XBee API BLE Service is a custom service that allows communication through the XBee API protocol over Bluetooth.
It supports wireless data transmission using API frames, enabling smooth integration with the XBee ecosystem.
API frames can be executed via Bluetooth, regardless of the operating mode of the device.
The following table shows a summary of this service and its characteristics:
Service |
UUID |
Characteristics |
||
---|---|---|---|---|
Name |
UUID |
Permissions |
||
XBee API BLE |
|
|
Write |
|
|
Read & Indicate |
API Request characteristic
UUID: 7dddca00-3e05-4651-9254-44074792c590
.
This characteristic is used to send data from a BLE-enabled device to the XBee module.
It has the following permissions:
-
Write permission: Allows a BLE device, like a smartphone, to send API frames to the XBee 3 BLU module.
API Response characteristic
UUID: f9279ee9-2cd0-410c-81cc-adf11e4e5aea
.
This characteristic is used by the XBee 3 BLU module to return data to a BLE device after an API request is processed.
It has the following permissions:
-
Read permission: Allows the BLE device to read responses sent by the XBee 3 BLU module after a request is processed.
-
Indicate permission: Allows you to subscribe for updates whenever the data in the characteristic changes. Requires an acknowledgment from the client device to indicate that the data was received correctly.
BLE data exchange on XBee
During the data exchange process of the BLE communication workflow, the data transmitted by an XBee is formatted into API frames.
API frames are divided into chunks and sent sequentially to the API Request characteristic, with each write operation limited to 20 bytes. Since the Bluetooth MTU defaults to 23 bytes, 3 bytes are reserved, leaving 20 bytes for data transmission per write.
The 20-byte limit per write is set by the default MTU, but it’s recommended to negotiate a larger MTU when establishing the connection between the client and the XBee device to improve efficiency. |
Before any API frames can be processed, an authentication step must be performed; otherwise, frames will be ignored. To learn how to authenticate the connection, read the Bluetooth security topic.
The response is delivered using BLE indications on the API Response characteristic, ensuring a reliable data exchange since indications are acknowledged at both the link and application layers.
Security Layer (SRP)
XBee 3 BLU includes built-in support for the Secure Remote Password (SRP) protocol, ensuring secure Bluetooth communication by authenticating both devices in a BLE connection.
This is essential for applications where security is critical, such as medical devices, industrial controls, and remote monitoring.
In addition to enabling the BLE interface on your XBee 3 BLU, you must authenticate and unlock communication with the XBee device to establish a connection.
This authentication process is an implementation of the SRP algorithm using the RFC5054 1024-bit group and the SHA-256 hash algorithm.
Once the authentication is completed, all communication is encrypted following the AES-256-CTR specification.
Libraries and tools offered by Digi, like XBee Studio, handle SRP out-of-the-box. If you’re developing your own software environment outside of Digi tools, refer to the SRP authentication on XBee devices topic to learn how to integrate SRP support into your BLE communication stack. |