Skip to content

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 the 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 Blue LED.

Requirements

Before you start, check that you have the required hardware and software:

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.

  1. Open a terminal window.

  2. Go to my-workspace/ncs-playground directory created in the Setting up the environment section.

    cd my-workspace/ncs-playground
    
  3. Build the sample using the west command, specifying the board (following the -b option) as dongle_nrf52840:

    west build -p always -b dongle_nrf52840 samples/ble/peripheral_lbs
    

    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.

  4. After running the west build command, the build files can be found in build/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:

  1. Push and hold the button and plug your dongle into the USB port of your computer. Release the button after your dongle is connected. The RGB LED turns green.

  2. It will mount as a Mass Storage Device called UF2BOOT.

  3. Drag and drop zephyr.uf2 onto the UF2BOOT volume. The RGB LED blinks red fast during flashing.

  4. Re-plug the dongle and the sample will start running.

Testing

After flashing the firmware to your dongle, complete the following steps to test it:

  1. Plug the dongle into the USB port of your computer.
  2. Start the nRF Connect for Mobile app, scan the device and observe that the device is advertising with the Device Name Nordic_LBS.

  3. Connect to the device from the application. The LBS Service with UUID 00001523-1212-EFDE-1523-785FEABCD123 is shown. This service has two characteristics:

    • Blinky Button State with UUID 00001524-1212-EFDE-1523-785FEABCD123
    • Blinky LED State with UUID 00001525-1212-EFDE-1523-785FEABCD123

  4. In the Blinky Button State, click to enable notifications, press the button on the dongle and observe that notifications with the following values are displayed:

    • Button Released when the button is released.
    • Button Pressed when the button is pressed.

  5. In the Blinky LED State, click , then select Bool and switch to True or False to control the Blue LED on the dongle. Then click Write to send the value and observe the state of the Blue LED.