Bluetooth Low Energy: Peripheral LBS¶
Overview¶
The BLE Peripheral LBS sample demonstrates how to use the LED Button Service (LBS).
The GATT LED Button Service (LBS) is a custom service that receives information about the state of an LED and sends notifications when a button changes its state.
When connected, the sample sends the state of USER button to the connected device, such as a phone or tablet. The mobile application on the device can display the received button state and control the state of Green LED.
Requirements¶
Before you start, check that you have the required hardware and software:
- 1x nRF52840 Connect Kit
- 1x USB-C Cable
- A smartphone or a tablet with nRF Connect for Mobile installed
- A computer running macOS, Linux, or Windows 7 or newer
Building the sample¶
Before you start building, remember to set up the environment first.
Use the following steps to build the BLE Peripheral LBS sample on the command line.
-
Open a terminal window.
-
Go to
my-workspace/ncs-playground
directory created in the Setting up the environment section. -
Build the sample using the
west
command, specifying the board (following the-b
option) asconnectkit_nrf52840
:Tip
The
-p always
option forces a pristine build, and is recommended for new users. Users may also use the-p auto
option, which will use heuristics to determine if a pristine build is required, such as when building another sample. -
After running the
west build
command, the build files can be found inbuild/zephyr
.
Flashing the firmware¶
The sample is designed to work with the UF2 Bootloader, so that you can easily flash the sample using the UF2 Bootloader. The firmware can be found in build/zephyr
with the name zephyr.uf2
.
To flash the firmware, complete the following steps:
-
Push and hold the USER button and plug your board into the USB port of your computer. Release the USER button after your board is connected. The RGB LED turns green.
-
It will mount as a Mass Storage Device called UF2BOOT.
-
Drag and drop
zephyr.uf2
onto the UF2BOOT volume. The RGB LED blinks red fast during flashing. -
Reset the board and the sample will start running.
Testing¶
After flashing the firmware to your board, complete the following steps to test it:
- Power up nRF52840 Connect Kit by using the USB-C Cable.
- Start the nRF Connect for Mobile app, scan the device and observe that the device is advertising with the Device Name
Nordic_LBS
. -
Connect to the device from the application. The LBS Service with UUID
00001523-1212-EFDE-1523-785FEABCD123
is shown. This service has two characteristics:- Button Characteristic with UUID
00001524-1212-EFDE-1523-785FEABCD123
- LED Characteristic with UUID
00001525-1212-EFDE-1523-785FEABCD123
- Button Characteristic with UUID
-
In the Button Characteristic, click to enable notifications, press USER button on the board and observe that notifications with the following values are displayed:
Button Released
when USER button is released.Button Pressed
when USER button is pressed.
-
In the LED Characteristic, click , then select
Bool
and switch toTrue
orFalse
to control the Green LED on the board. Then click Write to write the value and observe the state of the Green LED.