Nordic nRF5x Bluetooth Low Energy (BLE) In-Depth Training
This training course 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 seven chips options: nRF52840, nRF52832, nRF52811, nRF52810, nRF51824, nRF51822,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 and Bluetooth Mesh. 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. The training course is divided into three sections:
- Nordic nRF5x BLE In-Depth Training Course (Foundation Level): Step-by-step lessons and hands-on tutorials that covers all the essentials of the nRF5x SoCs hardware and software stack in-depth.
- Nordic nRF5x BLE In-Depth Training Course (Intermediate Level): Hands-on training which provides a clear, concise, and logical walk through of the Bluetooth Low Energy / Bluetooth 5 connectivity on the nRF5x SoCs.
- Nordic nRF5x BLE In-Depth Training Course (Advanced Level): This section of the course offers a comprehensive hands-on coverage of all aspects of Bluetooth Mesh protocol to create complex large-scale device networks based on the nRF5x SoCs.
Detailed course outlines and objectives for each section are below.
- Basic knowledge in the C programming language.
- Some experience in developing software for embedded systems.
Hardware: nRF52840 DK ,and nRF52840 Dongle. The Dongle is needed for the intermediate and advanced levels only. Different nRF5x boards can be used with some minor modifications.
Software: Segger Embedded Studio(SES) IDE, nRF5 SDK, Android Studio, nRF Connect, PuTTy. SES is the recommended IDE by Nordic Semiconductor for nRF5x firmware development, however, we can accommodate your preference of IDE.
Foundation Level Course Objectives:
- Get familiarized with the nRF5x family, it’s portfolio, available chip options, available development boards, and their typical applications.
- Provides a summary comparison between the nRF51 series and the nRF52 series of the nRF5x family.
- 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.
- Present all available methods and Integrated Development Environments (IDEs) to program and develop firmware for the nRF5x family and compare them in depth.
- 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.
- Understand the nRF5x compatibility matrix to identify the compatibility between nRF5x SoC revisions, SDKs, the relevant SoftDevices with corresponding SoftDevice Specifications, and development kits. This is a very important step to select the right nRF5 SDK version to be used, and also to set the right settings for the Flash/RAM sections in the linker files.
- 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 setup, 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:
- 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.
Foundation Level Course Outline:
(Preview Available) Lesson1 – nRF5x SoC overview: Gives an overview on the nRF5x family ( nRF52 and nRF51) of System on Chip (SoC), it’s portfolio, available SoC chip options, and their typical applications. A summary comparison between the nRF51 series and the nRF52 series of the nRF5x family is provided.
(Preview Available) Lesson2 – nRF51 architecture: The hardware architecture of the nRF51 series is examined, highlighting its core features, typical applications, computational capabilities, available system blocks, hardware peripherals, memories, and available chip options. A list of recommended development boards for this series is provided.
Lesson3 – nRF52 architecture: The hardware architecture of the nRF52, which is the enhanced successor the nRF51 series is studied thoroughly to identify the right SoC for your project.
Lesson4 – nRF5 Software Development Kit (SDK) Tutorial: All available methods and DEs to program and develop firmware for the nRF5x SoCs are presented and compared. The nRF5 SDK by Nordic Semiconductor is explored. It contains a broad selection of drivers, libraries, board definition files ,communication protocol stacks such as the SoftDevices for BLE and a large set of examples. Understand the nRF5x compatibility matrix to identify the the compatibility between nRF5x SoC revisions, SDKs, the relevant SoftDevices with corresponding SoftDevice Specifications, and development kits. This is a very important step to select the right nRF5 SDK version to be used and also to set the right settings for the Flash/RAM sections in the linker files.
Lesson5 – Segger Embedded Studio for Nordic nRF5x Tutorial: Go over all the steps needed to download, install , configure, license and test the SEGGER Embedded studio for Nordic nRF5x devices and development boards.Then, we learn how to setup ,and run an SES project targeting an nRF5x chip from scratch.
Lesson6 – Interacting with the nRF5x hardware peripherals: Get familiarized with interacting with system blocks, peripherals, the standards that defines the common interface with the on-chip hardware peripherals “The unified peripheral architecture”, TASKS/EVENTS, SHORTS registers, and the peripherals I/O mapping. Followed by a set of in-depth hands-on exercises to get familiarized with some of the frequently used system blocks, peripherals, interface protocols, drivers, hardware access layers, libraries, and protocols APIs of the nRF5 SDK.
Lesson7 – nRF5x GPIO Tutorial: In this lesson, we take a close look on the General Purpose Input/Output (GPIO) hardware peripheral (aka: GPIO Port) available inside an nRF5x SoC, its registers layout and available software access layers. Understanding the GPIO port is critical and will enable us to interface with a broad range of external circuitry.
Lesson8 – nRF5x Timer Tutorial: The hardware timer peripheral layout and registers are examined, highlighting their usages and operation modes. The timer driver API is then studied to efficiently utilize the hardware timer (TIMER) .
Lesson9 – nRF5x PPI Tutorial: The Programmable Peripheral Interconnect (PPI) is used to allow peripherals to interact autonomously with each other without having to use the CPU. The available channels, TASKS/EVENTS registers layouts are studied thoroughly. Then, the steps needed to use the PPI through its user-friendly driver are elaborated one by one.
Lesson10 – nRF5x GPIOTE Tutorial: In this lesson we study and use the GPIO tasks and events (GPIOTE) hardware, and its software interface in depth.The GPIOTE is used with the PPI to automate tasks. It provides functionality for accessing GPIO pins using tasks and events registers, and without the CPU intervention.
Lesson11 – nRF5x UART Tutorial: Understand the available UART/UARTE hardware available on an nRF5x SoC. Use the nRF5x UART for serial communication with other MCUs and a PC terminal(host). The steps needed to setup and use the UART in a non-blocking interrupt based mode are practiced and tested.
Lesson12 – Temperature Sensor Tutorial: Utilize the on-chip temperature sensor with UART to send temperature readings to a connected host using Putty or any any other serial terminals.
Lesson13 – nRF5x PWM and Servo Motor Control Tutorial: Examine the PWM hardware in-depth, then go over the available software alternatives(PWM HAL, DRV and Library) within the nRF5 SDK to utilize the PWM hardware efficiently. Finally, in the hands-on part of the lesson we will use the the PWM driver (PWM DRV) to control a servo motor through the two push buttons on the nRF52840-DK (Button1 & Button2) such that pressing Button1 will make the servo rotate clockwise and pressing Button2 will make it go counter clockwise. For this lesson, you need a simple 5V DC servo motor ( Like the FeeTech FS5103R available from adafruit ), alternatively you could use an oscilloscope to view the generated PWM signals.
(Preview Available)Lesson14 – nRF5x Power Management Tutorial: In this lesson, we will dive into the power management hardware in an nRF5x SoC. We will go over all the details for the two power saving modes available on an nRF5x SoC: System On and System Off and the two sub power saving modes accessible in the System On. The API’s needed to configure them with and without SoftDevice are examined thoroughly with hands-on exercises.
Nordic nRF5x BLE In-Depth Training Course (Intermediate Level):
(Preview Available) Lesson1 – Introduction to Bluetooth Low Energy / Bluetooth 5.
(Preview Available) Lesson2 – BLE profiles, services, characteristics, device roles and network topology.
Lesson3 – nRF Connect, the nRF52840 Dongle BLE roles emulator, and the Nordic RADIO 2.4 GHz transceiver peripheral.
Lesson4 – Nordic Semiconductor BLE Protocol Stack (SoftDevice S100 series) in-depth.
Lesson5 – Blinking LEDs and reading buttons through BLE ( The BLE Hello World ! ) tutorial.
Lesson6 – UART/Serial port emulation over BLE tutorial.
Lesson7 – BLE Heart Rate monitor example in-depth tutorial.
Lesson8 – BLE Beacons (Eddystone, iBeacon, AltBeacon) tutorial.
Lesson9 – Custom BLE services and characteristics creation tutorial.
Lesson10 – Custom BLE client-side testing using nRF Connect running on a smart phone or a desktop.
Lesson11 – Android BLE-enabled Apps development fundamentals (Android Studio is needed for this part).
Lesson12 – Custom BLE client-side testing using a custom made Android App (Android Studio is needed for this part).
Lesson13 – Pairing, Bonding, and establishing secure BLE connections tutorial.
Lesson14 – Multi-role simultaneous support on the nRF5x (Broadcast, Central, Peripheral) tutorial.
Lesson15 – nRF52840 long range mode tutorial ( BLE CODED PHY – 4 X RANGE ).
Lesson16 – Over-The-Air Device Firmware Update ( OTA-DFU ) tutorial.
Lesson17 – Linux Bluez Bluetooth stack tutorial ( For host Linux machines acting as central ).
Contact us on email@example.com for more information.
Nordic nRF5x BLE In-Depth Training Course (Advanced Level):
Lesson1 – Introduction to Bluetooth Mesh.
Lesson2 – Bluetooth Mesh network roles and node features.
Lesson3 – nRF5 SDK for Mesh tutorial.
Lesson4 – Configuring Mesh network through the nRF Mesh App.
Lesson5 – Configuring the Nordic Thingy:52 firmware for Mesh.
Lesson6 – Light switch Mesh network in-depth tutorial.
Lesson7 – Integrating low power node feature tutorial
Lesson8 – Device Firmware Update (DFU) over a Mesh network tutorial.
Contact us on firstname.lastname@example.org for more information.