Bluetooth® Low Energy Demo Applications User’s Guide BLE User's

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 54

DownloadBluetooth® Low Energy Demo Applications User’s Guide BLE User's
Open PDF In BrowserView PDF
NXP Semiconductors

Document Number: BLEDAUG

Application Note

Rev 7, 12/2017

Bluetooth® Low Energy
Demo Applications
User’s Guide

Contents
1 Introduction........................................... 1
2 Bluetooth low energy............................ 1
3 Hardware Configurations..................... 2
4 Build and Run a Bluetooth LE
Example Application.......................... 4
5 BLE Stack and Demo Applications......7

1 Introduction

6 Revision History.................................. 53
®

This document describes the Bluetooth low energy stack enablement for the NXP development platforms. The initial chapters
start with a presentation of the hardware and toolchain requirements.
Chapter 5 describes the demo applications that can be found in the software development kit. It presents the profiles and
services implemented and how to interact with them.

2 Bluetooth low energy
The Software Development Package provides a Bluetooth Low Energy v5.0-compliant host stack and controller
implementation with a set of GATT-based profiles and services implemented on top. To demonstrate the device functionality,
the following demo applications are implemented.
• BLE Relay Proxy
• BLE Shell App
• IPv6 Node and Router (KW41 Platforms)
• OTAP Client and Server
• HID Device (Mouse) and HID Host
• Low Power Temperature Sensor and Collector
• Wireless UART demo application
• Proximity Reporter
• Alert Notification Server
• Heart Rate Sensor
• Blood Pressure Sensor
• Glucose Sensor
• Health Thermometer
• Cycling Speed and Cadence Sensor
• Cycling Power Sensor
• Running Speed and Cadence Sensor
• Beacon Application

Hardware Configurations
Hardware requirements

• Wireless Power Transfer Receiving and Transmitting Units (KW41 Platforms)
• Private Profile Client and Server

3 Hardware Configurations
3.1 Hardware requirements
The NXP BLE demo applications are designed to run on any of these supported platforms:
• FRDM-KW41Z platform
• USB-KW41Z platform
• QN908XCDK platform

3.2 Toolchain requirements
®

The BLE Stack demo applications were compiled and tested with IAR Embedded Workbench for ARM and MCUXpresso.
It is recommended to use one of this tools.

3.3 Freedom FRDM-KW41Z Platform
®

®

FRDM-KW41Z Freedom platform is based on the KW41Z wireless, dual-mode SoC, which incorporates an ARM Cortex M0+ core and can be configured to operate at various frequencies, up to 48 MHz. It has 512 KB of Flash and 128 KB of
SRAM. A figure representing the platform is shown below. For detailed information about the platform, see the appropriate
board user’s guide.
The platform features a composite USB device called OpenSDA which serves as debugger interface and as a USB-to-serial
converter via a virtual COM port application. Several firmware images can be programmed on the OpenSDA device, such
as these.
• developer.mbed.org/handbook/CMSIS-DAP
• segger.com/opensda.html
• www.pemicro.com/opensda

Bluetooth® Low Energy Demo Applications User’s Guide
2

NXP Semiconductors

Hardware Configurations
USB-KW41Z platform

Figure 1. Freedom FRDM-KW41Z platform

3.4 USB-KW41Z platform
The USB-KW41Z board is mainly targeted for sniffer applications. It is based on the same KW41Z wireless, dual mode SoC.
A figure representing the platform is shown below. For detailed information about the board, see the appropriate board user’s
guide.

Figure 2. USB-KW41Z platform

3.5 QN9080CDK Platform
®

®

QN9080CDK platform is based on the QN9080CDK Bluetooth Low Power SoC, which incorporates an ARM Cortex -M4F
core and can be configured to operate at various frequencies, up to 32 MHz. It has 512 KB of Flash and 128 KB of SRAM.
A figure representing the platform is shown below. For detailed information about the platform, see the appropriate board
user’s guide.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

3

Build and Run a Bluetooth LE Example Application
User Interface

Figure 3. QN9080CDK Platform

4 Build and Run a Bluetooth LE Example
Application
To open, build and run any example application, see the correspondig board Bluetooth Low Energy Quick Start Guide
document.

4.1 User Interface
The demo applications that implement the Battery Service expose the current battery level, as measured on the board,
through the Battery Level characteristic. The value represents a percentage between 0 and 100. The value can be read from
the device from a connected GATT client.
The demo applications that implement the Device Information Service expose different information regarding the current
software, hardware, and firmware revisions. These values are used as an example and can be modified by the user when
developing their product. The values can be read from the device from a connected GATT client.

4.2 Security
The examples that enable pairing always generates a default passkey of 999999 that has to be entered on the central device,
in most cases a smartphone or tablet.

Bluetooth® Low Energy Demo Applications User’s Guide
4

NXP Semiconductors

Build and Run a Bluetooth LE Example Application
Testing Devices

4.3 Testing Devices
To demonstrate the profile functionality, most of the scenarios require one of the supported platform and a Bluetooth Low
Energy capable central device, usually a smartphone or a tablet that runs a compatible BLE application.

Figure 4. IoT BLE Toolbox
®

™

The recommended application is the IoT BLE Toolbox, which can be installed on Apple iOS or Android OS handheld
devices that support Bluetooth Low Energy. The application can be found on iTunes or Goolgle playstore.
Other demos can be run by using two platforms, one for the peripheral and one for the central role, for example IPv6 Node
and Router, Low Power Temperature Sensor and Collector, Wireless UART, OTAP Client and Server, HID Host and Device.
To provide feedback and additional interaction, some examples make use of a shell console via the virtual COM port. To
access the device, open a serial port terminal and connect it to the platform as shown in the figures below. For this example,
Tera Term VT and a FRDM-KW41Z were used. The communication parameters are 115200 and 8N1.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

5

Build and Run a Bluetooth LE Example Application
Testing Devices

Figure 5. Tera Term – mbed serial port

Figure 6. Tera Term – mbed serial port configuration
The start screen is displayed after the board is reset.

Bluetooth® Low Energy Demo Applications User’s Guide
6

NXP Semiconductors

BLE Stack and Demo Applications
Time client devices

Figure 7. Tera Term – console start

4.4 Time client devices
Some applications implement the Current Time Service. To enable this feature, define gAppUseTimeService_d in the
app_preinclude.h file as 1. If the Time Client is enabled, the device must synchronize with a Time Server to update its internal
date/time to the current date/time. The Time Client synchronizes with a phone if you connect the device to it (pairing and
bonding must be active).

5 BLE Stack and Demo Applications
5.1 Heart rate sensor
This section describes the implemented profiles and services, user interactions, and testing methods for the Heart Rate
Sensor application.

5.1.1 Implemented Profile and Services
The Heart Rate Sensor application implements a GATT server and the following profile and services.
• Heart Rate Profile v1.0
• Heart Rate Service v1.0
• Battery Service v1.0
Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

7

BLE Stack and Demo Applications
Heart rate sensor

• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters the GAP General Discoverable Mode and waits for a GAP
central node to connect. When the collector configures notifications, the sensor starts sending heart rate measurements
every second.

5.1.2 Supported platforms
The Heart Rate Sensor application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.1.3 User interface
After flashing the board, the sensor is put in deep sleep (all LEDs are off). Also, any attached debugger will lose its connection.
To wake up and start advertising, press the ADVSW button. When in GAP Discoverable Mode, the CONNLED is on. When
the central node connects to the peripheral, the CONNLED remains solid. The heart rate measurement values are generated
randomly in the interval 40 to 200 bpm. The heart rate value format is set to 8 bits and the contact status is on.
See details below for hardware references.
Table 1. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED4

QN9080CDK

BUTTON1

D5-RED

5.1.4 Usage
The Heart Rate Sensor can be connected to any Bluetooth® Smart Ready products available on the market.
To make the Heart Rate Sensor visible, press the ADVSW button to start sending advertisements. The sensor name
“FSL_HRS” shows on the device when its scanning is active. If configured, the sensor notifies the application with heart rate
measurements every second. Also, the battery level and various device information is exposed for reading. The IoT BLE
Toolbox can be used to showcase the profile functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
8

NXP Semiconductors

BLE Stack and Demo Applications
Beacon

Figure 8. IoT BLE Toolbox Heart Rate Monitor Demo

5.2 Beacon
This section presents the user interactions and testing methods for the Beacon application.

5.2.1 Supported platforms
The Beacon application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.2.2 Advertising data
The beacons are non-connectable advertising packets that are sent on the three advertising channels. The latter contains
the following fields.
• Company Identifier (2 bytes): 0x0025 (NXP ID as defined by the Bluetooth SIG).
Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

9

BLE Stack and Demo Applications
Beacon

• Beacon Identifier (1 byte): 0xBC (Allows identifying an NXP Beacon alongside with Company Identifier.
• UUID (16 bytes): Beacon sensor unique identifier.
• A (2 bytes): Beacon application data.
• B (2 bytes): Beacon application data.
• C (2 bytes): Beacon application data.
• RSSI at 1m (1 byte): Allows distance-based applications.
By default, the UUID value is a random value based on the unique identifier of the board.

5.2.3 User interface
After flashing the board, the beacon application starts advertising. When in GAP Discoverable Mode, CONNLED is flashing.
Hold the ADVSW button pressed for 2-3 seconds anytime to stop advertising. In idle mode, all LEDs are flashing. To restart
advertising, press the ADVSW button.
See details below for hardware references.
Table 2. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

FRDM-KW36

SW2

LED3

5.2.4 Usage
The beacon can be tested with any Bluetooth® Smart Ready products available on the market. The IoT BLE Toolbox can
also be used to showcase the profile functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
10

NXP Semiconductors

BLE Stack and Demo Applications
Blood pressure sensor

Figure 9. IoT BLE Toolbox Beacon Demo

5.3 Blood pressure sensor
This section describes implemented profiles and services, user interactions, and testing methods for the Blood Pressure
Sensor application.

5.3.1 Implemented profile and services
The Blood Pressure Sensor application implements a GATT server and the following profile and services.
• Blood Pressure Profile v1.0
• Blood Pressure Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
• Current Time Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications or indications, the sensor starts sending intermediate cuff
pressure and blood pressure measurements. In a 5 second interval, the sensor sends 5 events (4 notifications with the
intermediate cuff pressure measurement and one indication with the blood pressure measurement).

5.3.2 Supported platforms
The Blood Pressure Sensor application is supported by the following platforms:
• FRDM-KW41Z

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

11

BLE Stack and Demo Applications
Blood pressure sensor

• USB-KW41Z
• QN9080CDK

5.3.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button.
When in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns
solid. To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable
Mode.
The blood and cuff pressure measurement values are generated randomly on the device.
See details below for hardware references.
Table 3. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.3.4 Usage
The blood pressure sensor can be connected to any Bluetooth® Smart Ready products available on the market.
To make the sensor visible, press the ADVSW button to start sending advertisements, which causes CONNLED to start
flashing. The sensor name “FSL_BPS” shows on the device when its scanning is active. A solid CONNLED indicates a
successful connection between the 2 devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect.
If configured, the sensor notifies the application with intermediate cuff pressure each second and blood pressure
measurements every 5 seconds. Also, the battery level and various device information is exposed for reading. The IoT BLE
Toolbox can be used to showcase the profile functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
12

NXP Semiconductors

BLE Stack and Demo Applications
Glucose Sensor

Figure 10. IoT BLE Toolbox Blood Pressure Demo

5.4 Glucose Sensor
This section describes implemented profiles and services, user interactions, and testing methods for the Glucose Sensor
application.

5.4.1 Implemented profile and services
The Glucose Sensor application implements a GATT server and the following profile and services.
• Glucose Profile v1.0
• Glucose Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
• Current Time Service v1.1

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

13

BLE Stack and Demo Applications
Glucose Sensor

The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications, the sensor can send glucose measurements. The latest three
measurements are stored on the sensor device and can be retrieved by the collector.

5.4.2 Supported platforms
The Glucose Sensor application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.4.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
When in connection, pressing the ADVSW button triggers a new glucose measurement. The glucose measurement values
are generated randomly on the device.
See details below for hardware references.
Table 4. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.4.4 Usage
The glucose sensor can be connected to any Bluetooth® Smart Ready products available on the market.
To make the sensor visible, press the ADVSW button to start sending advertisements, which causes CONNLED to start
flashing. The sensor name “FSL_GLS” shows on the device when its scanning is active. A solid CONNLED indicates a
successful connection between the two devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate
disconnect.
If notifications are configured, the sensor sends the data to the collector when ADVSW button is pressed for less than 1
second. The measurement data is stored on the sensor. Also, the battery level and various device information is displayed
for reading. The IoT BLE Toolbox can be used to showcase the profile functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
14

NXP Semiconductors

BLE Stack and Demo Applications
Proximity Reporter

Figure 11. IoT BLE Toolbox Glucose Sensor Demo

5.5 Proximity Reporter
This section describes the implemented profiles and services, user interactions and testing methods for the Proximity
Reporter application.

5.5.1 Implemented profile and services
The Proximity Reporter application implements a GATT server and the following profile and services.
• Proximity Profile v1.0.1
• Immediate Alert Service v1.0
• TX Power Service v1.0
• Link Loss Service v1.0.1
• Battery Service v1.0
• Device Information Service v1.1

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

15

BLE Stack and Demo Applications
Proximity Reporter

The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect.
The Immediate Alert Service shows the alert level control point. GATT clients can trigger an alert on the device. The TX
Power Service exposes the TX Power level that is read from the BLE controller. The Link Loss Service exposes a configurable
alert level. When the radio link with the central node is suddenly lost, the configured alert is triggered on the reporter node.

5.5.2 Supported platforms
The Proximity Reporter application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.5.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
When a mild alert is triggered on the reporter, RGB LED starts flashing blue. When a high alert is triggered on the reporter,
both RGB LED starts flashing green.
See details below for hardware references.
Table 5. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.5.4 Usage
The proximity reporter can be connected to any Bluetooth® Smart Ready products available on the market. To make the
sensor visible, press ADVSW to start advertising which causes CONNLED to start flashing. The sensor name “FSL_PXR”
shows on the device when its scanning is active. A solid CONNLED indicates a successful connection between the two
devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect. When a link loss is detected or when
an alert is written on the control point, the user interface exposes the alert level on the RGB LED as stated previously.
Also, the battery level and various device information is displayed for reading. The IoT BLE Toolbox can be used to showcase
the profile functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
16

NXP Semiconductors

BLE Stack and Demo Applications
HID Device (Mouse)

Figure 12. IoT BLE Toolbox Proximity Reporter Demo

5.6 HID Device (Mouse)
This section describes implemented profiles and services, user interactions, and testing methods for the HID mouse
application.

5.6.1 Implemented profiles and services
The HID Device application implements a GATT server and the following profile and services.
• HID over GATT Profile v1.0
• Human Interface Device Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. Security on the services and bonding is enabled on this device.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

17

BLE Stack and Demo Applications
HID Device (Mouse)

When the GATT client configures notification, the application starts sending HID reports every two seconds with the
movement of the MOUSE_STEP. The demo moves the cursor in a square pattern between AXIS_MIN and AXIS_MAX. The
report contains 3 bytes, one for button status, one for X axis, and one for Y axis. The report descriptor matches the example
in chapter E.10 from the USB Device Class Definition for Human Interface Devices (USB HID Specification), Version 1.11.

5.6.2 Supported platforms
The HID Device application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.6.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
See details below for hardware references.
Table 6. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.6.4 Usage
The HID mouse can be connected to any Bluetooth Smart Ready products available on the market that supports HID devices
or to another supported platform running the HID Host example (setup steps detailed in the HID Host section).
To make the HID mouse visible, press the ADVSW button to start sending advertisements, which causes CONNLED to start
flashing. The sensor name “FSL_HID” shows on the device when its scanning is active. A solid CONNLED indicates a
successful connection between the 2 devices. When prompted to enter the pin, type the 999999 passkey.

Figure 13. Enter PIN prompt on Android platform
When configured, the HID mouse starts sending HID report, which is configured as explained above, with notifications every
100 milliseconds. The mouse cursor shows a square pattern movement on the screen.

Bluetooth® Low Energy Demo Applications User’s Guide
18

NXP Semiconductors

BLE Stack and Demo Applications
HID Host

Figure 14. HID Mouse detected by Android platform

5.7 HID Host
This section presents the implemented profiles and services, user interactions, and testing methods for the HID Host
application.

5.7.1 Implemented profiles and services
The HID Host application implements a GATT client or server for the following profile and service.
• HID over GATT Profile v1.0
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP central node. It enters the GAP Limited Discovery Procedure and searches for HID devices
to connect to. After connecting with the peripheral, it configures notifications and displays the received HID reports on a
terminal connected to the UART port. The application uses pairing with bonding by default. When connected with the HID
Device application, it sends the 999999 passcode to the host stack by default.

5.7.2 Supported platforms
The HID Host application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

19

BLE Stack and Demo Applications
HID Host

5.7.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start scanning, press the SCANSW button. When
in GAP Limited Discovery Procedure, CONNLED is flashing. When the central node connects to the peripheral, CONNLED
turns solid. To disconnect the node, hold the SCANSW button pressed for 2-3 seconds. The node then re-enters GAP Limited
Discovery Procedure.
See details below for hardware references.
Table 7. Hardware references
Platform

SCANSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.7.4 Usage
The application is built to work only with the HID Device application presented in the previous subchapter and it supports up
to 2 peripherals connected at the same time.
1. Open a serial port terminal and connect it to board, in the same manner described in section 5.1.3. The start screen is
displayed after the board is reset.
2. Press the SCANSW button on the HID Host board to start scanning for devices. Do the same on the HID device board
to make it enter discoverable mode. The host connects with the board after it sees it advertise the HID service,
connects to it, and configures report notifications. The device then starts sending HID reports, as shown below.

Figure 15.

Tera Term – Output Console on HID Host with 1 peripheral connected

3. To connect a second HID device, press again the SCANSW button on the HID Host board to start scanning for devices.
Do the same on the second HID device board to make it enter discoverable mode. The host connects with the board
after it sees it advertise the HID service, connects to it, and configures report notifications. The device then starts
sending HID reports. The console will print reports from both devices, as shown below.

Bluetooth® Low Energy Demo Applications User’s Guide
20

NXP Semiconductors

BLE Stack and Demo Applications
Private Profile Server

Figure 16.

Tera Term – Output Console on HID Host with 2 peripherals connected

5.8 Private Profile Server
This section describes the implemented profiles and services, user interactions, and testing methods for the Private Profile
Server application.

5.8.1 Implemented profiles and services
The Private Profile Server application implements a GATT client or server for the following profile and service.
• Private Profile (UUID: 0000fee9-0000-1000-8000-00805f9b34fb)
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect.

5.8.2 Supported platforms
The Private Profile Server application is supported by the following platforms:
• QN9080CDK

5.8.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
See details below for hardware references.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

21

BLE Stack and Demo Applications
Private Profile Server

Table 8. Hardware references
Platform

ADVSW

CONNLED

QN9080CDK

BUTTON1

D5-RED

5.8.4 Usage
The Private Profile Server can be connected to any supported platforms running Private Profile Client application.
To make the Private Profile Server visible, press the ADVSW button to start sending advertisements, which causes CONNLED
to start flashing. The device is visible with the name “NXP_QPP”. A solid CONNLED indicates a successful connection
between 2 devices.
The Private Profile is a cutom service that implements two custom characteristic:
• Rx Characteristic (UUID: d44bc439-abfd-45a2-b575-925416129600), used to write data to the server
• Tx Characteristic (UUID: d44bc439-abfd-45a2-b575-925416129601), used to get data from the server through
notifications
When in connection and if notifications are configured, the Private Profile Server starts sending data every 100 milliseconds
through GATT instant value notifications.If the client starts writing the Rx characteristic, the value length received will be
monitored in the data Rx callback. Every 10 seconds, a throughput statistics is made and Tx/Rx results are printed on the
serial interface.

Bluetooth® Low Energy Demo Applications User’s Guide
22

NXP Semiconductors

BLE Stack and Demo Applications
Private Profile Client

Figure 17. Private Profile Server – Output Console

5.9 Private Profile Client
This section describes the implemented profiles and services, user interactions, and testing methods for the Private Profile
Client application.

5.9.1 Implemented profiles and services
The Private Profile Client application implements a GATT client or server for the following profile and service.
• Private Profile (UUID: 0000fee9-0000-1000-8000-00805f9b34fb)

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

23

BLE Stack and Demo Applications
Private Profile Client

• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP central node. It enters the GAP Limited Discovery Procedure and searches for Private
Profile servers to connect to. After connecting with the peripheral, it configures notifications and monitors the data received
through notifications.

5.9.2 Supported platforms
The Private Profile Client application is supported by the following platforms:
• QN9080CDK

5.9.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start scanning, press the SCANSW button. When
in GAP Limited Discovery Procedure, CONNLED is flashing. When the central node connects to the peripheral, CONNLED
turns solid. To disconnect the node, hold the SCANSW button pressed for 2-3 seconds. The node then re-enters GAP Limited
Discovery Procedure.
See details below for hardware references.
Table 9. Hardware references
Platform

SCANSW

CONNLED

SENDSW

QN9080CDK

BUTTON1

D5-RED

BUTTON2

5.9.4 Usage
The application is built to work only with the Private Profile Server application presented in the previous subchapter.
1. Open a serial port terminal and connect it to board, in the same manner described in section 5.1.3. The start screen is
displayed after the board is reset.
2. Press the SCANSW button on the Private Profile Client board to start scanning for devices. Press the ADVSW button on
the Private Profile Server board to make it enter discoverable mode. The client connects to the server after it sees it
advertise the Private Profile Service. The client then configures notifications and monitors data received through
notifications.
3. If the user wants to also send data from the client to the server, after pressing SENDSW, the client starts writing the Rx
characteristic every 100 milliseconds.

Bluetooth® Low Energy Demo Applications User’s Guide
24

NXP Semiconductors

BLE Stack and Demo Applications
Cycling Speed and Cadence Sensor

Figure 18. Private Profile Client – Output Console

5.10 Cycling Speed and Cadence Sensor
This section describes the implemented profiles and services, user interactions, and testing methods for the Cycling Speed
and Cadence Sensor application.

5.10.1 Implemented profiles and services
The Cycling Speed and Cadence application implements a GATT server and the following profile and services.
• Cycling Speed and Cadence Profile v1.0

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

25

BLE Stack and Demo Applications
Cycling Speed and Cadence Sensor

• Cycling Speed and Cadence Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications, the sensor starts sending speed and cadence measurements.
The measurement values are generated randomly on the device.

5.10.2 Supported platforms
The Cycling Speed and Cadence Sensor application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.10.3 User iterface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode
See details below for hardware references.
Table 10. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.10.4 Usage
The sensor can be connected to any Bluetooth Smart Ready products available on the market. To make the sensor visible,
press the ADVSW button to start sending advertisements, which causes CONNLED to start flashing. The sensor name
“FSL_CSCS” shows on the device when its scanning is active. A solid CONNLED indicates a successful connection between
the 2 devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect.
If configured, the sensor notifies the application with speed and cadence measurements every second. Also, the battery level
and various device information is exposed for reading. The IoT BLE Toolbox can be used to showcase the profile functionality,
as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
26

NXP Semiconductors

BLE Stack and Demo Applications
Cycling Power Sensor

Figure 19. IoT BLE Toolbox Cycling Speed and Cadence Sensor Demo

5.11 Cycling Power Sensor
This section presents the implemented profiles and services, user interactions, and testing methods for the Cycling Power
Sensor application.

5.11.1 Implemented profiles and services
The Cycling Power Sensor application implements a GATT server and the following profile and services.
• Cycling Power Profile v1.0
• Cycling Power Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
• Current Time Service v1.1

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

27

BLE Stack and Demo Applications
Running Speed and Cadence Sensor

The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications and/or indications, the sensor starts sending power
measurements. The measurement values are generated randomly on the device.

5.11.2 Supported platforms
The Cycling Power Sensor application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.11.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
Because all the fields in the power measurement cannot fit into one single ATT frame, the user can toggle the optional fields
by pressing the TOGSW button.
See details below for hardware references.
Table 11. Hardware references
Platform

ADVSW

CONNLED

TOGSW

FRDM-KW41Z

SW4

LED3

SW3

QN9080CDK

BUTTON1

D5-RED

BUTTON2

5.11.4 Usage
The sensor can be connected to any Bluetooth Smart Ready products available on the market. To make the sensor visible,
press the ADVSW button to start sending advertisements, which causes CONNLED to start flashing. The sensor name
“FSL_CPS” shows on the device when its scanning is active. A solid CONNLED indicates a successful connection between
the 2 devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect. If configured, the sensor notifies
the application with power measurements. Also, the battery level and various device information is displayed for reading.
To demonstrate profile functionality, any bike application (from Health & Fitness category) can be installed on Apple iOS or
Android OS handheld devices that support Bluetooth Low Energy.

5.12 Running Speed and Cadence Sensor
This section describes the implemented profiles and services, user interactions, and testing methods for the Running Speed
and Cadence Sensor application.

5.12.1 Implemented profiles and services
The Running Speed and Cadence application implements a GATT server and the following profile and services.
• Running Speed and Cadence Profile v1.0
• Running Speed and Cadence Service v1.0

Bluetooth® Low Energy Demo Applications User’s Guide
28

NXP Semiconductors

BLE Stack and Demo Applications
Running Speed and Cadence Sensor

• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications, the sensor starts sending speed and cadence measurements.
The measurement values are generated randomly on the device.

5.12.2 Supported platforms
The Running Speed and Cadence Sensor application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.12.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When
in GAP Discoverable Mode, CONNLED is flashing. When the central node connects to the peripheral, CONNLED turns solid.
To disconnect the node, hold the ADVSW button pressed for 2-3 seconds. The node then re-enters GAP Discoverable Mode.
When the node is connected, the user can toggle the running status (running/walking) by pressing the TOGSW button. When
the status is set to “walking” the RGB LED turns solid. When the status is set to “running”, the RGB LED is not lit.
See details below for hardware references.
Table 12. Hardware references
Platform

ADVSW

CONNLED

TOGSW

FRDM-KW41Z

SW4

LED3

SW3

QN9080CDK

BUTTON1

D5-RED

BUTTON2

5.12.4 Usage
The sensor can be connected to any Bluetooth® Smart Ready products available on the market. To make the sensor visible,
press the ADVSW button to start sending advertisements, which causes CONNLED to start flashing. The sensor name
“FSL_RSCS” shows on the device when its scanning is active. A solid CONNLED indicates a successful connection between
the two devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect.
If configured, the sensor notifies the application with speed and cadence measurements every second. Also, the battery level
and various device information are exposed for reading. The IoT BLE Toolbox can be used to showcase the profile
functionality, as shown in the image below.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

29

BLE Stack and Demo Applications
Health Thermometer

Figure 20. IoT BLE Toolbox Running Speed and Cadence Demo

5.13 Health Thermometer
This section presents the implemented profiles and services, user interactions, and testing methods for the Health
Thermometer application.

5.13.1 Implemented profiles and services
The Health Thermometer application implements a GATT server and the following profile and services.
• Health Thermometer Profile v1.0
• Health Thermometer Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
• Current Time Service v1.1

Bluetooth® Low Energy Demo Applications User’s Guide
30

NXP Semiconductors

BLE Stack and Demo Applications
Health Thermometer

The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications or indications, the sensor starts sending intermediate
temperature and temperature measurements.
In a 5 second interval, the sensor sends 5 events (4 notifications with the intermediate temperature and one indication with
the temperature measurement). The intermediate temperature and temperature measurements are generated randomly on
the device.

5.13.2 Supported platforms
The Health Thermometer application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.13.3 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start advertising, press ADVSW. When in GAP
Discoverable Mode CONNLED is flashing. When the central node connects to the peripheral CONNLED turns solid. Hold
the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect. The node re-enters the GAP Discoverable Mode.
See details below for hardware references.
Table 13. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.13.4 Usage
The sensor can be connected to any Bluetooth® Smart Ready products available on the market. To make the sensor visible,
press the ADVSW button to start sending advertisements, which causes CONNLED to start flashing. The sensor name
“FSL_HTS” shows on the device when its scanning is active. A solid CONNLED indicates a successful connection between
the two devices. Hold the ADVSW button pressed for 2-3 seconds anytime to initiate disconnect.
If configured, the sensor notifies the application with temperature measurements. Also, the battery level and various device
information are exposed for reading. The IoT BLE Toolbox can be used to showcase the profile functionality, as shown in the
image below.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

31

BLE Stack and Demo Applications
Low Power Temperature Sensor and Collector

Figure 21. IoT BLE Toolbox Health Thermometer Demo

5.14 Low Power Temperature Sensor and Collector
This section describes the implemented profiles and services, user interactions, and testing methods for the temperature
sensor application.

5.14.1 Implemented profiles and services
The Temperature Sensor application implements a GATT server, a custom profile and the following services.
• Temperature Service (UUID: 01ff0200-ba5e-f4ee-5ca1-eb1e5e4b1ce0)
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect and configure notifications for the temperature value.
The Temperature service is a custom service that implements the Temperature characteristic (UUID: 0x2A6E) with a
Characteristic Presentation Format descriptor (UUID: 0x2904), both defined by the Bluetooth SIG.

Bluetooth® Low Energy Demo Applications User’s Guide
32

NXP Semiconductors

BLE Stack and Demo Applications
Low Power Temperature Sensor and Collector

The Temperature Collector application implements a GATT client or server for the following profile and services.
• Temperature Service (UUID: 01ff0200-ba5e-f4ee-5ca1-eb1e5e4b1ce0)
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP central node. It enters GAP Limited Discovery Procedure and searches for sensor devices
to pair with. After pairing with the peripheral, it configures notifications and displays temperature values on a terminal
connected to the UART port.
Both application uses pairing with bonding by default. When connected with the Low Power Temperature Sensor application,
the collector sends the 999999 passcode to the host stack by default.

5.14.2 Supported platforms
The Temperature Sensor and Collector applications are supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.14.3 User interface
After flashing the board, both nodes enter DSM 3. All LEDs are off. When the node is awake and communicating, CONNLED
is on. To wake up the node press the WAKESW button.
See details below for hardware references.
Table 14. Hardware references
Platform

WAKESW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.14.4 Usage
The setup requires two supported platforms, one for the temperature sensor and one for the temperature collector.
1. Open a serial port terminal and connect it to the temperature collector board, in the same manner as described in
5.1.3. The start screen is displayed after the board is reset. At first the LEDs are off on both devices.
2. To start advertising on the sensor, press the WAKESW button and CONNLED lights up. The sensor enters DSM1,
which means that the MCU wakes up on any packet from the Link layer, in this case the connect request. If no
connection is established in an interval of 10 seconds, the sensor stops advertising and enters DSM 3 again.
CONNLED turns off.
3. To start scanning on the collector, press the WAKESW button and CONNLED lights up. The device wakes up, scans
and connects to a compatible sensor device. If no connection is established within 5 seconds, the collector stops
scanning and enters DSM 3 again. CONNLED turns off.
4. If the collector connects to a sensor node, it bonds (if no bond was previously made), does service discovery and
configures notification (only the first time it connects with the sensor) and waits for notifications from the sensor for 5
seconds. If no data is sent, the node disconnects and re-enters DSM3. The sensor exits low power and sends a
notification with the value of the temperature read through an ADC from the thermistor, if present, or random generated
if not.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

33

BLE Stack and Demo Applications
IPv6 Router and Node

Figure 22.

Tera Term – Output Console on Temperature Collector

5. Subsequent key pressing triggers other notifications for the collector. If no key is pressed in an interval of 3 seconds,
the sensor node disconnects and re-enters DSM3.

5.15 IPv6 Router and Node
®

For information about the IPv6 Node and Router applications, see the Bluetooth Low Energy Transport for IPv6 Datagrams
(document BLEIP6UG).

5.16 Alert Notification Server
This section describes the implemented profiles and services, user interactions, and testing methods for the Alert Notification
Server application.

5.16.1 Implemented profile and services
The Alert Notification application implements a GATT client or server for the following profile and services.
• Alert Notification Profile v1.0
• Alert Notification Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
• Current Time Service v1.1
• Next DST Change Service v1.0
• Reference Time Update Service v1.0
The application behaves as a GAP central node. It enters the GAP Limited Discovery Procedure and searches for Alert
Notification Clients or Time Clients to connect to. After connecting with the peripheral, it waits for notifications to be configured.

5.16.2 Supported platforms
The Alert Notification Server application is supported by the following platforms:
• FRDM-KW41Z
Bluetooth® Low Energy Demo Applications User’s Guide
34

NXP Semiconductors

BLE Stack and Demo Applications
Wireless UART

• USB-KW41Z
• QN9080CDK

5.16.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start scanning, press the SCANSW button. When
in GAP Limited Discovery Procedure, CONNLED is flashing. When the central node connects to the peripheral, CONNLED
turns solid. To disconnect the node, hold the SCANSW button pressed for 2-3 seconds. The node then re-enters GAP Limited
Discovery Procedure.
When in connection and if notifications are configured, pressing the ALERTSW button triggers a new alert notification (“New
mail”) to be sent to the GATT client and adjusts the time of the device by +1 hour. Holding the ALERTSW button for 2-3
seconds triggers a new unread alert status notification (missed call) to be sent to the same GATT client.
See details below for hardware references.
Table 15. Hardware references
Platform

SCANSW

CONNLED

ALERTSW

FRDM-KW41Z

SW4

LED3

SW3

QN9080CDK

BUTTON1

D5-RED

BUTTON2

5.16.4 Usage
The application can be tested against the Profile Tuning Suite (PTS) black-box testing tool from the Bluetooth SIG.

5.17 Wireless UART
This section describes the implemented profiles and services, user interactions, and testing methods for the Wireless UART
application.

5.17.1 Implemented profile and services
The Wireless UART application implements both the GATT client and server for the custom Wireless UART profile and
services.
• Wireless UART Service (UUID: 01ff0100-ba5e-f4ee-5ca1-eb1e5e4b1ce0)
• Battery Service v1.0
• Device Information Service v1.1
The Wireless UART service is a custom service that implements a custom writable ASCII Char characteristic (UUID: 01ff0101ba5e-f4ee-5ca1-eb1e5e4b1ce0) that holds the character written by the peer device.
The application behaves at first as a GAP central node. It enters GAP Limited Discovery Procedure and searches for other
Wireless UART devices to connect. If the node fails to find any peripherals within seconds, it changes its role to a GAP
peripheral. It enters GAP General Discoverable Mode and waits for a GAP central node to connect.

5.17.2 Supported platforms
The Wireless UART application is supported by the following platforms:
• FRDM-KW41Z

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

35

BLE Stack and Demo Applications
Wireless UART

• USB-KW41Z
• QN9080CDK

5.17.3 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). To start scanning, press the SCANSW button. When
in GAP Limited Discovery Procedure of GAP General Discoverable Mode, CONNLED is flashing. When the node connects
to a peer device, CONNLED turns solid. To disconnect the node, hold the SCANSW button pressed for 2-3 seconds. The
node then re-enters GAP Limited Discovery Procedure.
See details below for hardware references.
Table 16. Hardware references
Platform

SCANSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

KW41 SW3

QN BUTTON2

KW36 SW3

5.17.4 Usage
The application is built to work with another supported platform running the same example or with the Wireless UART from
the IoT BLE Toolbox application. When testing with two boards do the following.
1. Open a serial port terminal and connect them to the two boards, in the same manner described in section 5.1.3. The
start screen is blank after the board is reset.
2. The application starts as a GAP central. To switch the role to a GAP peripheral, press the role switch. Depending on
the role, when pressing the SCANSW, the application starts either scanning or advertising.
3. As soon as the CONNLED turns solid on both devices, the user can start writing in one of the consoles. The text
appears on the other terminal, as shown in the figure below.
4. After creating a connection, the role (master or slave) is printed in the console. The role switch can be pressed again
before creating a new connection.

Figure 23. Tera Term – received text on Wireless UART

Bluetooth® Low Energy Demo Applications User’s Guide
36

NXP Semiconductors

BLE Stack and Demo Applications
BLE Shell

When testing with one board and the IoT BLE Toolbox do the following.
1. Open a serial port terminal and connect the board in the same manner described in section 5.1.3. The start screen is
blank after the board is reset.
2. Press the role switch button to behave as a GAP peripheral and then press the SCANSW to start advertising. The IoT
BLE Toolbox app can then connect. Select UART instead of Console and start typing.

5.18 BLE Shell
This section describes the functionality, user interactions, and testing methods for the BLE Shell Application.

5.18.1 Implemented stack features
The BLE Shell Application implements a console application that allows the user to interact with a full feature Bluetooth Low
Energy stack library. It implements All GAP roles and both GATT client and server. Enabling these roles can be done using
shell commands.

5.18.2 Implemented profile and services
The application implements a dynamic GATT database. The user can add services at runtime and also erase the database
contents. The database is always populated with the GAP and GATT services. These services cannot be erased. The user
can dynamically add the following services.
• Heart Rate Service (UUID: 0x180D)
• Battery Service (UUID: 0x180F)
• Device Information Service (UUID: 0x180A)
• Internet Support Profile Service (0x1820)

5.18.3 Supported platforms
The BLE Shell application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.18.4 User interface
After flashing the board, the device is in idle mode (all LEDs flashing). The interaction with the board is done entirely by using
the shell commands via the serial communication terminal.

5.18.5 Usage
The application is built to work with any other BLE device. To showcase the functionality, two platforms are used in the
following setup.
1. Open a serial port terminal and connect them to the two boards, in the same manner described in section 5.1.3. The
start screen is displayed after the board is reset. All LEDs are flashing on both devices.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

37

BLE Stack and Demo Applications
BLE Shell

2. Configure one of the devices as a GAP peripheral and a Heart Rate server. Change name to HRS. Start advertising on
this device.

Kinetis BLE Shell>gap devicename HRS
--> GATTDB Event: Attribute Written
HRS>gap advdata 1 6
--> GAP Event: Advertising data successfully set.
HRSvgap advdata 8 HRS
--> GAP Event: Advertising data successfully set.
HRS>gap advstart
--> GAP Event: Advertising started.
HRS>gattdb addservice 0x180D
--> Heart Rate
- Heart Rate Measurement Value Handle: 14
- CCCD Handle: 15
- Body Sensor Location Value Handle: 17
- Heart Rate Control Point Value Handle: 19
--> GATTDB Event: Service Added in database.

3. Configure the other device as a GAP central. Change name as Collector. Start scanning and connect to the HRS
device by selecting the corresponding device index. In the example below, the HRS device is device number 2.

Kinetis BLE Shell>gap devicename Collector
--> GATTDB Event: Attribute Written
Collector>gap scanstart
--> GAP Event: Scan started.
Collector>
--> GAP Event: Found device 0 : 880F102F500E 0 dBm
--> GAP Event: Found device 1 : FSL_CSCS 00049F000006 0 dBm
--> GAP Event: Found device 2 : HRS 00049F0000FF 0 dBm
Collector>gap connect 2
--> GAP Event: Scan stopped.
Collector>
--> GAP Event: Connected

4. Optionally, the devices can be paired. On the collector initiate the pairing.

Collector>gap pair
--> Pairing...
--> GAP Event: Passkey is 792910

5. On the HRS, enter the pin displayed by the collector, as shown below.

HRS>
--> GAP Event: PIN required
HRS>gap enterpin 792910
--> GAP Event: Device Paired.

6. On the Collector, start service discovery. The device discovers the GAP, GATT and Heart Rate services.

Collector>gatt discover -all
--> Discovered primary services: 3
--> Generic Access Start Handle: 1 End Handle: 7
- Device Name Value Handle: 3

Bluetooth® Low Energy Demo Applications User’s Guide
38

NXP Semiconductors

BLE Stack and Demo Applications
Over the Air Programming (OTAP)
- Appearance Value Handle: 5
- Peripheral Preferred Connection Parameters Value Handle: 7
--> Generic Attribute Start Handle: 8 End Handle: 11
- Service Changed Value Handle: 10
- Client Characteristic Configuration Descriptor Handle: 11
--> Heart Rate Start Handle: 12 End Handle: 19
- Heart Rate Measurement Value Handle: 14
- Client Characteristic Configuration Descriptor Handle: 15
- Body Sensor Location Value Handle: 17
- Heart Rate Control Point Value Handle: 19

7. Configure the HRS to send notifications by writing the CCCD from the Collector. Send a GATT write command with
value 1 to the CCCD handle discovered, 15.

Collector>gatt write 15 0x0001

8. Send heart rate measurement notifications from the HRS device by using the value handle obtained after adding the
service in the previous step.

HRS>gatt notify 14

9. A notification appears on the Collector console.

Collector>
--> GATT Event: Received Notification
Handle: 14
Value: B400

5.19 Over the Air Programming (OTAP)
This section describes the implemented profiles and services, user interactions, and testing methods for the BLE OTAP
application.

5.19.1 Implemented profile and services
The BLE OTAP applications implement the GATT client and server for the custom BLE OTAP profile and service.
• BLE OTAP Service (UUID: 01ff5550-ba5e-f4ee-5ca1-eb1e5e4b1ce0)
The BLE OTAP Service is a custom service which has 2 characteristics.
• OTAP Control Point Characteristic (UUID: 01ff5551-ba5e-f4ee-5ca1-eb1e5e4b1ce0). This characteristic can be written
and indicated to exchange OTAP Commands between the OTAP Server and the OTAP Client. Data chunks are not
transferred using this characteristic.
• OTAP Data Characteristic (UUID: 01ff5552-ba5e-f4ee-5ca1-eb1e5e4b1ce0). This characteristic can be written without
response by the OTAP Server to transfer image file data chunks to the OTAP Client only when an image block transfer is
requested via the ATT transfer method. Data chunks can also be transferred via the L2CAP credit based PSM channels
method.
The demo runs using 4 applications: an OTAP Client embedded application, an OTAP Bootloader embedded application, an
OTAP Server embedded application, and an OTAP Server PC application. The OTAP Client embedded application has two
versions, an ATT version and a L2CAP version each using a different transfer method.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

39

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

The embedded OTAP Server application is a GAP Central application which scans for devices advertising the BLE OTAP
service. After it finds one, it connects to it and configures the OTAP Control Point CCC Descriptor to receive ATT Indications
from the device then it waits for OTAP commands from this device.
Once commands start arriving from the OTAP Client via ATT Indications the OTAP Server relays them via serial interface to
a PC application which responds. The responses are then sent back to the OTAP Client by writing the OTAP Control Point
Characteristic. The embedded OTAP Server application effectively acts as a relay between the OTAP Client to which the
image is sent over the air and the OTAP Server PC application which has an OTAP image file constructed using a binary .srec
image or a .bin image.
The OTAP Client is a GAP Peripheral which advertises the BLE OTAP Service and waits for a connection from an OTAP
Server. After an OTAP Server connects, the OTAP Client waits for it to write the OTAP Control Point CCCD and then starts
sending commands via ATT Indications. If the OTAP Client is configured to ask the data transfer via the L2CAP CoC PSM,
it registers and tries to connect a predetermined L2CAP PSM before sending any commands to the OTAP Server.

5.19.2 Supported platforms
The OTAP application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.19.3 User interface
After flashing two boards with the OTAP Server and OTAP Client applications respectively, the devices are in idle mode (all
LEDs flashing). To start advertising, press the ADVSW button on the OTAP Client. To start scanning, press the SCANSW
button on the OTAP Server. After the two devices connect and start exchanging commands. CONNLED becomes solid on
the OTAP Server and on the OTAP Client.
After the embedded applications are flashed to the boards the OTAP Server PC application must be started. The application
creates an OTAP image file using the provided executable .srec or .bin file, connects to the embedded OTAP Server via the
configured serial interface and waits for commands. The application shows details about the creation of the image file and
allows the configuration of the OTAP upgrade image file header. A log view is present where the interactions between the
OTAP Client and the OTAP Server are shown.
Table 17. Hardware references
Platform

ADVSW

SCANSW

CONNLED

FRDM-KW41Z

SW4

SW4

LED3

QN9080CDK

BUTTON1

BUTTON1

D5-RED

5.19.4 Usage with test tool for Connectivity products
This is a list of requirements.
• Test Tool for Connectivity Products 12.5.0 or newer – Test Tool on www.nxp.com
• Serial COM port drivers – these are board-specific
These are the steps to run the application.
1. Flash the OTAP Server onto a supported platform, and the OTAP Bootloader and the OTAP Client to another supported
platform. Make sure the board running the OTAP Server is connected to your PC and your PC has appropriate drivers
for the USB to serial device on that board.

Bluetooth® Low Energy Demo Applications User’s Guide
40

NXP Semiconductors

BLE Stack and Demo Applications
Over the Air Programming (OTAP)
NOTE
The OTAP Bootloader must be programmed separately into the MCU, before programming the
OTAP Client application.

2. Create the application to send over the air. The executable must be provided in the .srec or .bin format. The .srec
format executable can be obtained by using the IAR Output Converter and setting the output format to Motorola as
shown below. The created .srec application image must be offset to begin after the Bootloader region. To offset the
application copy the settings from the Linker->Config tab of the otap_client_l2cap_credit or otap_client_att example
applications project properties. For more details, see the BLE Application Developer’s Guide (BLEADG).

Figure 24.

Output Converter Dialog

NOTE
For the .bin file format the Binary option must be selected from the Output format drop-down menu.

3. Start the Test Tool application. If you have the proper drivers installed and the OTAP Server board is connected to the
PC, then its corresponding serial port shows up in the USB/UART Active devices view on the Start Page of the Test
Tool software as shown below.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

41

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

Figure 25.

Test Tool Start Page - OTAP Server USB/UART

4. Go to the OTA Updates menu in Test Tool and choose the OTAP BLE option to open the BLE over-the-air update
window.

Figure 26.

Test Tool OTAP BLE

5. Load the image file into the application and configure the image file header and start the OTAP Server
• In the Image File Information box of the OTAP BLE application from Test Tool press the “Browse” button and go to
the .srec or .bin file containing the image to be sent to the OTAP Client. The .srec or .bin file and the OTA Header
configuration options from the same box is used by the application to build the OTAP Image File which is sent overthe-air. The default values of the OTA Header configuration work out of the box for the OTAP demo applications. For
details about these configuration options, see the BLE Application Developer’s Guide document (BLEADG). After
the .srec or .bin file is chosen a pop-up window asks to choose the target processor (this is used to correctly
configure the Sector Bitmap sub-element of the OTAP Image File). Choose the correct processor and press “OK”.

Bluetooth® Low Energy Demo Applications User’s Guide
42

NXP Semiconductors

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

Figure 27.

Test Tool OTAP BLE Processor Selection

• After the image is loaded go to the OTA Server Image Loading box, select the correct COM Port for the OTAP Server
board and the default baudrate of 115200 and press the “Connect to OTAP Server Device” button. If the connection is
successful then the Message Log shows this. If the image is loaded before connecting to the OATP Server COM
Port, then the application’s OTAP Server starts automatically. If the connection to the COM Port is established before
the image is loaded, then the “Start OTAP” button needs to be pressed to start the application’s OTAP Server. For
details, see the annotated screenshot below.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

43

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

Figure 28.

Test Tool BLE OTAP Application Overview

• Before starting the image transfer process, the data rate must be configured for each transfer method (ATT or L2CAP
CoC). The image chunks of a block are sent over the serial interface and over-the-air without waiting for confirmation
and if the data rate is not configured correctly errors can appear in the transfer process which can slow it down
significantly. The optimal data rate depends on multiple factors like: distance between boards, type of antenna,
performance of the RF circuitry between the radio and antenna, type and level of noise in the environment, speed of
the storage medium in which the image is saved on the OTAP Client, serial driver delay between PC and OTAP
Server board and other factors. If the data rate is too high, then the OTAP Client receives a new chunk before it can
process the previous one and it sends an “Unexpected Chunk Sequence Number” error and restart the transfer of
the current block from where it left off. If the channel is too noisy the transmitter can be flooded and some chunks
may not reach the client triggering a similar type of error. The default data rate values should work for most
configurations.
6. Start the embedded applications by pressing ADVSW first on the OTAP Client and then on the OTAP Server. The
transfer progress and transfer-related messages and/or errors are shown in the application window. The duration of the
transfer depends on the size of the image and the chosen data rate and transfer method.

Bluetooth® Low Energy Demo Applications User’s Guide
44

NXP Semiconductors

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

Figure 29.

Test Tool OTAP BLE Image Transfer in Progress

7. After all the blocks are sent the OTAP Client send an Image Transfer Complete command to the OTAP Server. When
this command is received by the PC Application, it displays a “Sent Image with Success” message in the log window.

Figure 30.

Test Tool OTAP BLE Image Transfer Completed

8. After the image transfer is complete the OTAP Client triggers the bootloader and resets the MCU. The bootloader takes
about 30 seconds to flash the image on the board. After this time passes the MCU resets again and runs the new
image.

5.19.5 Usage with IoT BLE toolbox
This is the list of requirements.
• Mobile device running Android platform of iOS with hardware and software supporting Bluetooth 4.0 and later
• Kinetis BLE Toolbox application – download from the specific application store for your device
To run the application do the following.
1. Flash the OTAP Client ATT applications to a supported platform. The Kinetis BLE Toolbox only supports the ATT OTAP
Client
2. Create the application to send over the air in .srec format. Follow the instructions from the previous section on how to
do this. Remember to include the Bootloader in its appropriate section in your application.
3. Start the Kinetis BLE Toolbox application on your mobile device and start the OTAP Tool. The application starts
scanning.
4. Press ADVSW on the board to start Advertising on the embedded OTAP Client application. The device should show up
in the list of scanned devices. Touch the device in the scan list to connect to and the application performs service
discovery and displays some information shown in the figures below.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

45

BLE Stack and Demo Applications
Over the Air Programming (OTAP)

Figure 31.

IoT BLE Toolbox - OTAP Tool Scanning and Discovery

5. Press the “Open” button and load the .srec file to be sent over-the-air. Once the file is loaded some information about it
is displayed. Press the “Upload” button to start the image transfer process. A progress bar is shown while the image
transfer is ongoing. The successful transfer is signaled by the progress bar reaching 100%. This is shown in the figures
below.

Bluetooth® Low Energy Demo Applications User’s Guide
46

NXP Semiconductors

BLE Stack and Demo Applications
Hybrid (Dual-Mode) Bluetooth Low Energy Heart Rate Sensor and IEEE 802.15.4 Coordinator Demo Application

Figure 32.

IoT BLE Toolbox - OTAP Image Transfer

6. After the image transfer is complete the OTAP Client triggers the bootloader and resets the MCU. The bootloader takes
about 30 seconds to flash the image on the board. After this time passes the MCU resets again and runs the new
image.

5.20 Hybrid (Dual-Mode) Bluetooth Low Energy Heart Rate
Sensor and IEEE 802.15.4 Coordinator Demo
Application
This section describes the implemented profiles and services, user interactions, and testing methods for the Hybrid BLE
®
Heart Rate Sensor/IEEE 802.15.4 Coordinator demo application.

5.20.1 Implemented profile and services
The BLE Heart Rate Sensor implements a GATT server and the following profile and services.
• Heart Rate Profile v1.0
• Heart Rate Service v1.0
• Battery Service v1.0
• Device Information Service v1.1
The application behaves as a GAP peripheral node. It enters GAP General Discoverable Mode and waits for a GAP central
node to connect. When the collector configures notifications, the sensor starts sending heart rate measurements every
second.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

47

BLE Stack and Demo Applications
Relay Proxy

The IEEE 802.15.4 part of the application is an IEEE 802.15.4 Coordinator running in background, in parallel with the BLE
sensor application.

5.20.2 Supported platforms
The Hybrid (Dual-Mode) Bluetooth Low Energy Heart Rate Sensor and IEEE 802.15.4 Coordinator application is supported
by the following platforms:
• FRDM-KW41Z
• USB-KW41Z

5.20.3 User interface
The IEEE 802.15.4 thread starts automatically at device startup in the role of an IEEE 802.15.4 Coordinator. It chooses the
channel based on Clear Channel Assesment (CCA). No user interaction is needed.
The BLE Heart Rate Sensor user interface is identically with the standalone one. After flashing the board, the sensor is in
idle mode (all LEDs flashing). To start advertising, press the ADVSW button. When in GAP Discoverable Mode, the CONNLED
is flashing. When the central node connects to the peripheral, CONNLED turns solid. To disconnect the node, hold the ADVSW
button pressed for 2-3 seconds. The node then re-enters the GAP Discoverable Mode.
See details below for hardware references.
Table 18. Hardware references
Platform

ADVSW

CONNLED

FRDM-KW41Z

SW4

LED3

5.20.4 Testing method
The IEEE 802.15.4 Coordinator is basically a “MyWirelessApp Coordinator” demo (for more information check the
802154MPDAUG document), and responds to requests from other IEEE 802.15.4 devices (Active Scan, Association, Data
Requests). Any IEEE 802.15.4 sniffer can be used to observe the over-the-air activity on the channel that the coordinator
started.
At the same time, the BLE Heart Rate Sensor part of the application runs independently based on user interaction. The Heart
Rate Sensor can be connected to any Bluetooth Smart Ready product available on the market. To make the Heart Rate
Sensor visible, press the ADVSW button to start sending advertisements, which causes CONNLED to start flashing. The
sensor name “FSL_HYBRID_HRS” shows on the device when its scanning is active. A solid CONNLED indicates a successful
connection between the 2 devices. Hold the ADVSW button pressed for 2-3 seconds anytime to get the sensor to initiate
disconnect.
If configured, the sensor notifies the application with heart rate measurements every second. Also, the battery level and
various device information is exposed for reading. The Kinetis BLE Toolbox can be used to showcase the Heart Rate profile
functionality.

5.21 Relay Proxy
This section describes the functionality, user interactions, and testing methods for the BLE Relay Proxy Application.

Bluetooth® Low Energy Demo Applications User’s Guide
48

NXP Semiconductors

BLE Stack and Demo Applications
Relay Proxy

5.21.1 Implemented stack features
The BLE Relay Proxy implements a GAP dual-role application that allows 2 simultaneous connections, one with a GAP
Peripheral and the other with a GAP Central device. It also supports both GATT client and server. When the two connections
are active, the device will relay data from the GAP Peripheral to the GAP Central and vice-versa.

5.21.2 Implemented services
The device will discover services on the GAP Peripheral and clone the database locally by using the dynamic GATT database
feature. The application acts afterwards as a proxy for that device and will respond to service discovery queries made by the
remote GAP Central device. The application supports all services defined by the Bluetooth SIG. Connection with the GAP
Peripheral that contains the database to be cloned is made based on the specified service in the following macro from app.h:
gAppProxySelectService_d. By default, the application will check for GAP Peripherals that support the Heart Rate Service
(0x180D).

5.21.3 Supported platforms
The Relay Proxy application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z
• QN9080CDK

5.21.4 User interface
After flashing the board, the sensor is in idle mode (all LEDs flashing). To start scanning, press the SCANSW button. When
in GAP Limited Discovery Procedure, CONNLED is flashing. When the central node connects to the peripheral, CONNLED
turns solid. After service discovery is done and the dynamic GATT database is created, the application enters GAP
Discoverable Mode and CONNLED starts flashing. When the central node connects to the peripheral, CONNLED turns back
solid. To disconnect the node from all connections, hold the SCANSW button pressed for 2-3 seconds.
See details below for hardware references.
Table 19. Hardware references
Platform

SCANSW

CONNLED

FRDM-KW41Z

SW4

LED3

QN9080CDK

BUTTON1

D5-RED

5.21.5 Usage
The application is built to work with any other two devices that implement a GAP Peripheral and a GAP Central. The out of
the box example describes the BLE Relay Proxy connecting with a Heart Rate Sensor application from the same SDK and
a smartphone or a tablet running the Kinetis BLE Toolbox application.
1. Download a Heart Rate Sensor application on a supported platform and start it as described in the previous chapter.
2. Press SCANSW on the BLE Relay Proxy application. The node will connect with the Heart Rate Sensor and do Service
Discovery. CONNLED is solid. After the database is recreated locally, the node will start advertising with the same data
as the original device. CONNLED starts flashing.
3. Start Kinetis BLE Toolbox and connect to the BLE Relay Proxy application as with a normal Heart Rate Sensor
application.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

49

BLE Stack and Demo Applications
Wireless Power Transfer System Receiving Unit and Transmitting Unit

4. All GATT Read and Write operations made by the Kinetis BLE Toolbox are relayed by the node to the initial Heart Rate
Sensor. All GATT Notifications are relayed to the Kinetis BLE Toolbox application.

5.22 Wireless Power Transfer System Receiving Unit and
Transmitting Unit
This section describes the implemented profiles and services, user interactions, and testing methods for the wireless power
transfer receiving unit (WPT PRU) and transmitting unit (WPT PTU).

5.22.1 Implemented profile and services
The WPT PRU and PTU applications implement a GATT server and a GATT client for the following profile and service:
• A4WP Wireless Power Transfer System specification v1.3
• Wireless Power Transfer (WPT) Service v1.3
The WPT PRU application behaves as a GAP peripheral node. It enters GAP Limited Discoverable Mode using as advertising
data the WPT service UUID (0xFFFE) and the ATT database handle corresponding to the service declaration.
The WPT PTU application behaves as a GAP central node. It scans for PRU devices by looking for the WPT Service UUID,
it connects to a PRU device, performs a procedure known as device registration and allows or disallows the device to start
charging. The device registration procedure should take less than 500 milliseconds and for this reason the profile uses security
mode 1, level 1 and no service discovery is performed. All handles are computed using the offset handle found in the
advertising data. Device charging state and other measurable values are simulated in software using random numbers (except
for device temperature included in the dynamic parameters).
Both application use pairing with bonding by default. Both applications require a terminal to output application specific
information. A part of the application information is provided using onboard LED’s. All actions are triggered using the pushbutton events. The events have the following meaning:
• Short press: pressing a button and releasing it under 1 second.
• Long press: pressing a button and releasing after 1 second, but before 8 seconds are passed.
• Very long press: pressing a button and releasing it after 8 seconds.

5.22.2 Supported platforms
The Wireless Power Transfer System Receiving Unit application is supported by the following platforms:
• FRDM-KW41Z
• USB-KW41Z

5.22.3 User interface
After flashing the boards, the PRU device enters a “Null” state, and the PTU enters a “Power Save” state. A short press on
the ADVSW button of the PTU device simulates a device configuration and the presence of a PRU device which requires
charging. For this reason, the PTU device starts a scanning procedure. A short press on the ADVSW of the PRU device
simulates sufficient power to start the advertising procedure. During both scanning and advertising procedures, CONNLED
will flash. If the PRU device does not connect to the PTU for 10 seconds, the advertising is stopped and CONNLED turns
off. In this case the PRU device returns to the “Null” state. After the PTU connects to the PRU, CONNLED is turned on.
After the devices connect, the PTU performs device registration and determines if it has sufficient power to charge the PRU.
If registration is successful, the push-buttons events change their meaning as follows:
• Short press on the PTU device triggers another scanning procedure in case another device is supported.

Bluetooth® Low Energy Demo Applications User’s Guide
50

NXP Semiconductors

BLE Stack and Demo Applications
Wireless Power Transfer System Receiving Unit and Transmitting Unit

• Short press on the PRU device prints the dynamic parameters in the console.
• Long press on the PTU device prints information regarding the connected devices and maximum power remaining.
• Long press on the PRU device simulates a charge complete event. After the PRU is considered charged, the PTU will
disconnect from it. After disconnection, the PRU device enters in a “Boot” state and requires a very long press event to
return to “Null” state.
• Very long press on the PTU device simulates an error case and disconnects all connected PRU devices.
• Very long press on the PRU device simulates power removal (taking a device outside the charge area).
If the PRU device is allowed to charge, it simulates charging by printing information in the console and by turning CHGLED
on.
See details below for hardware references.
Table 20. Hardware references
Platform

ADVSW

CONNLED

CHGLED

FRDM-KW41Z

SW4

LED3

LED4

5.22.4 Usage
The setup requires two or three supported platforms, one for PTU device and one or two for PRU devices.
1. Open serial port terminals for all the platforms. The start screen is displayed after the board is reset. At first the LEDs
are flashing on all devices.
2. Press ADVSW on the PTU device and on a PRU device. CONNLED should start flashing on both devices until the
connection is established or until the PRU device times out.
3. After the registration procedure is finished the PTU device will display a success message and will simulate the
procedure for providing power to the PRU.

Figure 33.

PTU and PRU after connecting, registering and enabling charge

4. Short press ADVSW on the PRU device again to print most recent dynamic parameters.
5. Long press on ADVSW on the PTU device to get system information.

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

51

BLE Stack and Demo Applications
Wireless Power Transfer System Receiving Unit and Transmitting Unit

Figure 34.

PTU information and PRU dynamic parameters display

6. Long press ADVSW on the PRU device to simulate a charge complete event.

Figure 35.

PRU device charged

7. Very long press ADVSW on the PRU device to simulate power removed and return it into a “Null” state.

Figure 36.

PRU power removed

8. If a second PRU device is used, ADVSW can be short pressed on both the PTU and on the new PRU after step 3 was
finished for the previous PRU. Also, to test the power sharing procedure support, the
gAdjustPowerCommandSupport_d macro should be defined as TRUE on at least one of the PRU devices before
flashing the firmware. If the above macro is set to TRUE a scenario is designed so that two PRU devices combined
require more power than the PTU device can provide, but the PTU device attempts a power sharing procedure so that it
can adjust the power draw for at least one of the PRU’s.

Bluetooth® Low Energy Demo Applications User’s Guide
52

NXP Semiconductors

Revision History
Wireless Power Transfer System Receiving Unit and Transmitting Unit

Figure 37.

Power sharing support on one PRU

6 Revision History
This table summarizes revisions to this document.
Table 21. Revision history
Revision number

Date

Substantive changes

0

06/2015

Initial release

1

10/2015

Added new applications

2

04/2016

Added BLE Shell App Added KW41Z
UI section Updated IPSP section
Added interaction with Kinetis BLE
Toolbox Application Changed OTAP
demo application: removed
instructions for use with the OTAP
Python script for PC, added
instructions for use with the Test Tool
for Connectivity products BLE OTAP
tool, and added instructions for use
with the Kinetis BLE Toolbox mobile
application

3

07/2016

Added BLE Relay Proxy application

4

09/2016

Updated for KW41Z

5

06/2017

Updated for QN9080CDK

6

10/2017

Updated for KW36

7

12/2017

Bluetooth® Low Energy Demo Applications User’s Guide
NXP Semiconductors

53

How To Reach Us
Home Page:

Information in this document is provided solely to enable system and software implementers
to use NXP products. There are no express or implied copyright licenses granted hereunder
to design or fabricate any integrated circuits based on the information in this document. NXP

nxp.com

reserves the right to make changes without further notice to any products herein.

Web Support:

NXP makes no warranty, representation, or guarantee regarding the suitability of its products

nxp.com/support

for any particular purpose, nor does NXP assume any liability arising out of the application
or use of any product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. “Typical” parameters that may be provided in
NXP data sheets and/or specifications can and do vary in different applications, and actual
performance may vary over time. All operating parameters, including “typicals,” must be
validated for each customer application by customer's technical experts. NXP does not convey
any license under its patent rights nor the rights of others. NXP sells products pursuant to
standard terms and conditions of sale, which can be found at the following address: nxp.com/
SalesTermsandConditions.
NXP, the NXP logo, NXP SECURE CONNECTIONS FOR A SMARTER WORLD,
COOLFLUX, EMBRACE, GREENCHIP, HITAG, I2C BUS, ICODE, JCOP, LIFE VIBES,
MIFARE, MIFARE CLASSIC, MIFARE DESFire, MIFARE PLUS, MIFARE FLEX, MANTIS,
MIFARE ULTRALIGHT, MIFARE4MOBILE, MIGLO, NTAG, ROADLINK, SMARTLX,
SMARTMX, STARPLUG, TOPFET, TRENCHMOS, UCODE, Freescale, the Freescale logo,
AltiVec, C‑5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C‑Ware, the Energy Efficient
Solutions logo, Kinetis, Layerscape, MagniV, mobileGT, PEG, PowerQUICC, Processor
Expert, QorIQ, QorIQ Qonverge, Ready Play, SafeAssure, the SafeAssure logo, StarCore,
Symphony, VortiQa, Vybrid, Airfast, BeeKit, BeeStack, CoreNet, Flexis, MXC, Platform in a
Package, QUICC Engine, SMARTMOS, Tower, TurboLink, and UMEMS are trademarks of
NXP B.V. All other product or service names are the property of their respective owners.
ARM, AMBA, ARM Powered, Artisan, Cortex, Jazelle, Keil, SecurCore, Thumb, TrustZone,
and μVision are registered trademarks of ARM Limited (or its subsidiaries) in the EU and/or
elsewhere. ARM7, ARM9, ARM11, big.LITTLE, CoreLink, CoreSight, DesignStart, Mali, mbed,
NEON, POP, Sensinode, Socrates, ULINK and Versatile are trademarks of ARM Limited (or
its subsidiaries) in the EU and/or elsewhere. All rights reserved. Oracle and Java are
registered trademarks of Oracle and/or its affiliates. The Power Architecture and Power.org
word marks and the Power and Power.org logos and related marks are trademarks and
service marks licensed by Power.org.
Ⓒ 2017 NXP B.V.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Create Date                     : 2017:12:06 05:33:25-08:00
Modify Date                     : 2017:12:06 05:33:25-08:00
Creator                         : AH XSL Formatter V6.2 MR6 for Windows (x64) : 6.2.8.19325 (2015/01/06 12:40JST)
Producer                        : Antenna House PDF Output Library 6.2.640 (Windows (x64))
Title                           : Bluetooth® Low Energy Demo Applications User’s Guide
Trapped                         : False
Page Count                      : 54
Page Mode                       : UseOutlines
Language                        : EN
EXIF Metadata provided by EXIF.tools

Navigation menu