21 students

Nordic nRF5x BLE In-Depth Training Course (Intermediate Level)

Self-paced training course which provides in-depth technical exposure on the Bluetooth Low Energy (BLE) System on Chip (SoC) by Nordic Semiconductor. Namely, the nRF5x family (Both nRF52 and nRF51) which has nine chips options: nRF52840, nRF52833, nRF52832, nRF52811, nRF52810, nRF51824, nRF51822, nRF51802, and nRF51422. Many of these chips support multiple short-range wireless protocols; BLE, ANT, Thread/Zigbee through the 802.15.4 MAC, and 2.4Ghz propitiatory protocols; However, the main focus of this course is on Bluetooth Low Energy/Bluetooth 5. Nordic Semiconductor is one of the lead pioneers in the Bluetooth Low Energy sector. They have an estimate of about 50% of the global market share in BLE. Their chips are used in a wide spectrum of branded Bluetooth-enabled consumer electronic products worldwide, like the well-established Logitech wireless keyboards and mice.

This level of the course provides hands-on training which provides a clear, concise, and logical walk through of the Bluetooth Low Energy / Bluetooth 5 connectivity on the nRF5x SoCs.

Requirements :

Hardware: RF52840 DK and nRF52840 Dongle. (Different nRF5x boards can be used with some minor modifications).
Software: Segger Embedded Studio , nRF5 SDK, nRF Connect.

What will learn learn? (Intermediate Level Objectives)

  1. Examine the BLE protocol architecture, identify its different layers, and how it evolved over the years. Understand the key differences between BLE and “classic” Bluetooth.
  2. Understand the core BLE stack APIs that you will find in almost all nRF5 SDK-based connection-oriented firmwares, and the minimum nRF5 SDK modules (components) needed to make a peripheral BLE device discoverable and connectable.
  3. Differentiate the different options available for communication over BLE(Point-to-Point, One-to-Many, Many-to-Many). Dive into the details of the BLE protocol upper layers (GAP and GATT).
  4. Learn how to set up the BLE device address, name, security settings, and the preferred connection parameters through hands-on exercises.
  5. Learn how to configure all aspects of the advertising phase of a BLE connection-oriented device.
  6. Learn how to configure the nRF5x BLE Physical Layer(PHY) transmission power to target your application range/power demands.
  7. Introduce the nRF Connect on both Desktop/Laptop and on Smart Phone/Tablet and use it for testing and debugging BLE connections.
  8. Compare the nRF Connect features on different platforms, examine other useful debugging and testing utilities by Nordic Semiconductor such as the Power Profiler, Programmer, and the RSSI Viewer.
  9. Learn how to use the nRF52840 Dongle as a BLE roles emulator.
  10. Thoroughly investigate through hands-on exercises the connection parameters negotiation process between a BLE peripheral and a BLE central. Deploy the ble_conn_params module of the nRF5 SDK to simplify the process of negotiation.
  11. Examine Nordic’s Bluetooth Low Energy protocol stack (SoftDevice), review its features, list the available SoftDevices, and determine the right SoftDevice for your product.
  12. Thoroughly review the memory layout (RAM and Flash) of the firmware when a SoftDevice is used.
  13. Study the frequently used SoftDevice APIs and how they are implemented.
  14. Practice the use of the SoftDevice Handler Library to safely enable and disable a SoftDevice and for propagating SoftDevice events to the application.
  15. Study the common SoftDevice events and how to register application handlers to listen to them.
  16. Understand the interrupt priorities, CPU utilization, and the hardware resources usage restrictions when using a SoftDevice.
  17. Exercise establishing bidirectional communication channels through BLE between two devices.
  18. Practice through in-depth, hands-on exercises controlling/monitoring simple hardware peripherals over BLE and learn how to define custom communication protocols over BLE.
  19. Take a closer look at how the nRF5 SDK is implementing standard SIG-defined profiles, services, and characteristics.
  20. Dissect the implementations of the GATT services : Nordic UART Service(NUS), Heart Rate Service(HRS), Battery Service(BAS) and the Device Information Service(DIS).
  21. Learn how to include, configure, and use standard SIG-defined services. Case studies are the Heart Rate Service(HRS), Battery Service(BAS), and the Device Information Service(DIS).
  22. Learn how to include, configure, and use already built custom services. Case study Nordic UART Service(NUS).
  23. Learn how to encode/decode complex data received/sent over BLE and how to stream data from a BLE GATT Server to a BLE GATT Client.
  24. Build custom BLE profiles containing both standard SIG-defined services and custom made services.

Intermediate Level Course Outline:

(Preview Available) Lesson1 – Introduction to Bluetooth Low Energy / Bluetooth 5: Examine the BLE protocol architecture, identify its different layers and how it evolved over time. Understand the difference between BLE and “classic” Bluetooth. In the exercise section of this lesson we cover the core BLE common functions that you will find in almost all nRF5 SDK-based connection-oriented devices, and the minimum nRF5 SDK modules (components) needed to make a peripheral BLE device discoverable and connectable.
(Preview Available) Lesson2 – BLE profiles, services, characteristics, device roles and network topology: Differentiate the different options available for communication over BLE. Dive into the details of the BLE protocol upper layers (GAP and GATT). In the exercise section of this lesson, we cover setting up the BLE device address, name, security settings, and the preferred connection parameters. In addition to that, we cover the advertising module in the nRF5 SDK to configure all aspects of the advertising phase of a connection-oriented device. We will also learn how to configure the nRF5x BLE Physical Layer(PHY) transmission power to target your application range/power demands.
Lesson3 – nRF Connect, the nRF52840 Dongle BLE roles emulator, and the Nordic RADIO 2.4 GHz transceiver peripheral: Introduce the nRF Connect on both Desktop/Laptop and on Smart Phone/Tablet and use it for testing and debugging. Compare its features on different platforms and how to use the nRF52840 Dongle as a BLE roles emulator. In the exercise section of this lesson we thoroughly investigate the connection parameters negotiation process between a BLE peripheral and a BLE central.
Lesson4 – Nordic Semiconductor BLE Protocol Stack (SoftDevice S100 series) in-depth: A comprehensive lesson which puts the Nordic’s Bluetooth Low Energy protocol stack (SoftDevice) under the microscope. The available SoftDevices types and how to determine the right SoftDevice for your product are examined. We also examine how the code and RAM memory is organized when a SoftDevice is used. Shed light on the frequently used SoftDevice APIs and how they are implemented. Practice the use of the SoftDevice Handler Library to enable and disable the SoftDevice and for propagating SoftDevice events to the application. Understand the interrupt priorities,CPU utilization with SoftDevice, and general resources usage restrictions when using a SoftDevice.
Lesson5 – UART/Serial port emulation over BLE tutorial: Takes a closer look at a simple example of a connection-oriented(point-to-point) communication over BLE. Inspect how Nordic UART Service(NUS) is built and how it communicate with the SoftDevie through its API and how it registers handlers and listens for BLE stack events. Understand the differences between a characteristic write command and write request. In the exercise section of this lesson we cover setting up the NUS server from scratch and use it to establish a bidirectional communication channel through BLE between two devices.
Lesson6 – Blinking LEDs and reading buttons through BLE ( The BLE Hello World ! ) tutorial: Practice through an in-depth hands-on exercise controlling/monitoring simple hardware peripherals over BLE. Learn how to define simple communication protocol over BLE.
Lesson7 – BLE Heart Rate profile in-depth tutorial: In this lesson we take a closer look at a complex example of a connection-oriented(point-to-point) communication over BLE. Inspect in-depth how the Heart Rate Profile(HRP) is built and how it communicates with the SoftDevie through its API and how it registers handlers and listens for BLE stack events. Identify the general steps for creating a BLE GATT Server. We also cover handling dynamic client requests to change the Maximum ATT_MTU size and the data length. Learn how to generate simulated data to be sent over BLE for debugging purposes, how to encode/decode complex data received/sent over BLE and how to stream data from a BLE GATT Server to a BLE GATT Client.
Lesson8 – Custom BLE services and characteristics creation tutorial: In this lesson we build a complete BLE profile that uses both custom and standard services and characteristics from scratch. We will create a BLE profile for a mock up device that we will call “Mock Device EC-01” . The profile contains seven services. Four are standard SIG defined that we will import and set up from the nRF5 SDK(Generic Access Service, Generic Attribute Service, Battery Service, Device Information Service) and the remaining three are  developed in the lesson from scratch.The focus of this lesson is on custom BLE services and characteristics development and to exercise the common characteristic properties operations.

See course FAQ page here.

Instructor

User Avatar WebAdmin

Senior Embedded Systems Engineer