nRF52840 DK Tutorials

Overview

This course is a hands-on, thorough coverage to the Bluetooth Low Energy (BLE) System on Chip (SoC) by Nordic Semiconductor. Namely, the nRF5x family (nRF52 and nRF51) which has ten chips options: nRF52840, nRF52833, nRF52832, nRF52820, 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 focus of this course is on developing BLE-capable features-rich firmware for the nRF5x SoCs.

By the end of this course, you will have a solid understanding of the nRF5x (nRF52 and nRF51) hardware architecture and the nRF5 Software Development Kit (SDK) v16.0.0 and all its capabilities. In addition to that, you’ll gain substantial practical experience in writing features-rich firmware for the nRF5x SoCs which gives you high confidence to apply the knowledge and the know-how to your project.

Course Duration

3 Days.

Course Date

June 10th 2020.

Course Price

1299 USD per attendee.

Instructor Language

English.

Who should attend this course?

The course is aimed to embedded software engineers, firmware developers building nRF5x-based products (nRF52 or nRF51) or anyone highly interested in the nRF5x SoCs.

Course Materials

Method

  • Interactive instructor-led face-to-face using Zoom.
  • Guided instruction coding.

Prerequisite

  • Basic knowledge in the C programming language.
  • Some experience in developing software for embedded systems.

Hands-on Coding / Lecture Balance

70% of this course is hands-on guided instruction coding with discussion. The programming language used is C and the target platform is the nRF52840–DK. The reaming 30% of the time is for covering the fundamentals of the nRF5x SoCs, nRF5 SDK,  the Bluetooth Low Energy Protocol, and for open discussion.

Hardware Requirements

  • nRF52840-DK (Mandatory). Not provided. You must purchase one before taking the course.
  • A BLE-capable Smartphone or Tablet (Mandatory). Not provided.
  • nRF52840-Dongle (Optional). Not provided.

Software/System Requirements

  • A comnputer running Windows, Mac or Linux.
  • An up-to-date web browser.
  • A fast internet connection.
  • A headset (including headphones and mic – or equivalent).

Learning Objectives

  • Get familiarized with the nRF5x family, it’s portfolio, available chip options, available development boards, and their typical applications.
  • Identify the right nRF5x SoC for your project.
  • Understand the hardware architectures of the nRF5x family, its computational capabilities, unique ultra low power features (Programmable Peripheral Interconnect-PPI, Flexible GPIO, Automated Power Management), available hardware peripherals, system blocks, and memories.
  • Examine thoroughly the nRF5 Software Development Kit (nRF5 SDK) by Nordic Semiconductor and understand its structure and content. The SDK contains a broad selection of hardware access layers(HAL), drivers, board definition files, libraries, communication protocol stacks such as the SoftDevices for BLE, and a large set of examples.
  • Go over all the steps needed to download, install, configure, license, and test the SEGGER Embedded Studio(SES) for Nordic nRF5x devices and development boards. Then, we learn how to set up, and run an SES project targeting an nRF5x chip from scratch. The SEGGER Embedded studio is a great IDE with free business license sponsored by Nordic Semiconductor for their chips.
  • Get familiarized with interacting with system blocks, peripherals, the standards that define the interface with the on-chip hardware peripherals “The unified peripheral architecture”, tasks, events, shorts, and the peripherals I/O mapping.
  • Study and practice through detailed hands-on coding exercises the following frequently used system blocks/hardware peripherals, their access layers, drivers, and libraries:
    • GPIO.
    • TIMER.
    • PPI.
    • GPIOTE.
    • UART.
    • Temperature Sensor.
  • Understand the power saving schemes available on an nRF5x SoC and the expected power consumption of each mode. Practice the nRF5 SDK API’s to safely put an nRF5x SoC into the desired sleep mode.
  • 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.
  • Understand the core BLE stack APIs that you will find in almost all nRF5 SDK-based connection-oriented firmware, and the minimum nRF5 SDK modules (components) needed to make a peripheral BLE device discoverable and connectable.
  • 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).
  • Learn how to set up the BLE device address, name, security settings, and the preferred connection parameters through hands-on exercises.
  • Master how to configure all aspects of the advertising phase of a BLE connection-oriented device.
  • Practice how to configure the nRF5x BLE Physical Layer(PHY) transmission power to target your application range/power demands.
  • Introduce the nRF Connect on both Desktop/Laptop and on Smartphone/Tablet and use it for testing and debugging BLE connections.
  • 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.
  • 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.
  • Examine Nordic’s Bluetooth Low Energy protocol stack (SoftDevice), review its features, list the available SoftDevices, and determine the right SoftDevice for your product.
  • Thoroughly review the memory layout (RAM and Flash) of the firmware when a SoftDevice is used.
  • Study the frequently used SoftDevice APIs and how they are implemented.
  • Practice the use of the SoftDevice Handler Library to safely enable and disable a SoftDevice and for propagating SoftDevice events to the application.
  • Study the common SoftDevice events and how to register application handlers to listen to them.
  • Understand the interrupt priorities, CPU utilization, and the hardware resources usage restrictions when using a SoftDevice.
  • Exercise establishing bidirectional communication channels through BLE between two devices.
  • Practice through in-depth, hands-on exercises controlling/monitoring simple hardware peripherals over BLE and learn how to define custom communication protocols over BLE.
  • Take a closer look at how the nRF5 SDK is implementing standard SIG-defined profiles, services, and characteristics.
  • Dissect the implementations of the GATT services : Nordic UART Service(NUS), Heart Rate Service(HRS), Battery Service(BAS) and the Device Information Service(DIS).
  • 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).
  • Learn how to include, configure, and use already built custom services. Case study Nordic UART Service(NUS).
  • 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.
  • Build custom BLE profiles containing both standard SIG-defined services and custom-made services.
  • Support concurrent (simultaneous) BLE connections and use it to build BLE star networks in different configurations.
  • Comprehend the Over-the-Air Device Firmware Update(DFU) process.
  • Learn how to use the nRF Util to cryptographically sign and generate secure update packages.
  • Thoroughly examine the nRF5 SDK Cryptography library (nrf_crypto).
  • Examine how to configure, compile, and include a secure bootloader.
  • Understand the nRF5x device memory map with the introduction of a bootloader, and how execution is passed from Master boot record(MBR)->Bootloader->SoftDevice->Application.
  • Update your firmware to use a newer version of nRF5 SDK and SoftDevice.
  • Perform Over-The-Air secure DFU using both button-triggered approach and buttonless approach.

Course Schedule

BLE Training nRF5 Schedule

Register your interest in the course

Please fill in the form below. A member of our team will contact you to discuss your requirement.

Please enter your email, so we can follow up with you.
How many attendees from your company are planning to take the course?
You can use this box to enter any queries that you might have regarding the course.