Nordic nRF5x BLE In-Depth Training Course (Intermediate Level) FAQ
Last modified: 4th January 2022.
Q1) What does this course offer?
Ans: Master Bluetooth Low Energy firmware development for nRF5x-based (nRF52 and nRF51) products in a short period of time. This training course can significantly reduce your BLE-enabled product time to market and help you avoid making early design errors that pay costly in later stages of your product. The intermediate level main objectives are outlined below:
- 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.
- Learn how to configure all aspects of the advertising phase of a BLE connection-oriented device.
- Learn 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.
- Learn how to use the nRF52840 Dongle as a BLE roles emulator.
- 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 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.
- Examine BLE scanning in-depth and shed the light on the SoftDevice API and events for scanning.
- Learn how to configure an nRF5x SoC as a scanner that scan all nearby advertising devices and display their names, addresses, RSSIs and the complete content of their advertising packet.
- Setup and utilize the nRF5 SDK Scanning Module (nrf_ble_scan) to scan and filter nearby advertising devices by name(full or short), UUID, address, appearance, or even packet content.
Q2) Is the course video-based?
Ans: No. The course is in the form of easy to follow text-based lessons rich with graphs, various types of illustrations and lots of hands-on codes. The lessons present both theoretical and practical information in clear, concise and logical walk-through. Preview sample lessons links are listed below:
Q3) How long do I need to finish the course?
Ans: The course is self-paced. How long will it take to finish the course, this depends on your technical background, your previous experience in writing software for embedded systems, and how much time you are planning to dedicate for the course per day. Based on our clients’ feedback, a minimum of 30 hours in total is needed to finish the course. Nevertheless, you can always use the search feature of the course to quickly locate the topics you are most interested in.
Q4) How much does the course cost?
Ans: A one-month subscription costs 299 USD only. The membership will give you access to the course and associated content for the selected period (30 days from the date of purchase) in addition to technical support for the covered material. The course can also be conducted face to face on-site, or face to face remotely using Zoom, contact us to get a quote.
Q5) I am planning to use a different development board for my prototype (Ex: nRF52 DK or Nordic Thingy:52), is the course still useful for me ?
Ans: Yes. The reason why we chose the nRF52840 DK is that it utilizes the high-end SoC in the nRF5x family(nRF52 and nRF51), which means that it supports all BLE 5 features offered by Nordic Semiconductor.
Both the nRF52 DK, and the Nordic Thingy:52 boards utilize the mainstream nRF52832 SoC. You can think of the nRF52840 as a superset of all nRF5x SoCs(nRF52 and nRF51), except the newly added nRF52811 and nRF52833 which are dedicated for direction finding and extended temperature operation.
We would assist you with the modifications needed to run the course’s exercises on your board.
Q6) I am interested in taking the course using a different IDE/toolchain (Keil, IAR, Make/IDE, or Mbed). Which IDE do you support?
Ans: The online course is tailored to Nordic Semicondictor’s recommended IDE which is the SEGGER Embedded Studio(SES), however, the on-site version of the course can be conducted using your own flavor of IDE/toolchain (Keil, IAR, Make/Your IDE(Microsoft Visual Studio, Eclipse, etc..), or Mbed). Please feel free to contact our team for more information on this.
Q7) Is the course based on the bare-metal nRF5 SDK or the RTOS-based nRF Connect SDK
Ans: The course is based on the nRF5 SDK and focuses on bare-metal programming.
Q8) We are interested in topics/areas not covered in the syllabus. Can you help?
Ans: Yes. Our teams of engineers and firmware developers have extensive experience in Nordic Semiconductor chips and can help you with any aspect of it. We also offer outsourcing and turn-key solutions at competitive prices. Please feel free to contact our team for more information on this.