Porting your legacy protocol to a new radio is extremely time-intensive and complicated. RAIL can simplify the complexities that come with this process, and we’ve collected the most up-to-date training resources here in one place so you can get up and running quickly.
An introduction to the fundamentals of RAIL and Connect layers, aimed to provide basic knowledge of workflows, framework components, features, software examples, and architecture – all necessary to get started with proprietary wireless development.
Beginner | Pre-requisites: none | Requirements: none | PDF | 30 min
A compilation of relevant training materials to master Simplicity Studio from start to debug, get started with the Flex SDK for the Wireless Gecko, and understand the fundamental concepts of the Radio Configurator, Plugin Configurator, and HW Configurator.
Beginner | Pre-requisites: What is RAIL & Connect | Requirements: none | HTML | 60 min
A step-by-step guide on Simplicity Studio’s Custom Solution feature to create a project using a custom board, along with available Simplicity Studio resources including the Radio Configurator and the Flex SDK.
Beginner | Pre-requisites: Using Simplicity Studio for Proprietary | Requirements: none | HTML | 15 min
An ordered list of the tutorials necessary to help users get started with developing useful applications with RAIL, from basic features to advanced features for specific applications. Some experience with Embedded C is highly recommended.
Beginner | Pre-requisites: Getting Started EFM32 MCU | Requirements: none | HTML | 5 min
The first part of the series of RAIL Tutorial for beginners that introduces RAIL – what it is, when to use it, what it supports, its dependencies, its supported energy modes, and some of the basic functions and types that can be used to initialize it.
Beginner | Pre-requisites: RAIL Tutorial 0 - Content Summary | Requirements: none | HTML | 15 min
A quick tutorial to learn the basic functions that can be used for transmitting a packet (Tx), including buffer handling, the actual transmission of the packet, and changing the packet length.
Beginner | Pre-requisites: RAIL Tutorial 1 - Intro and Initialization | Requirements: none | HTML | 15 min
This tutorial introduces the Event Handler function, including configuring events, Tx error handling, and receiving packets (Rx). After completing this tutorial, users will have both transmitter and receiver codes necessary to download messages.
Beginner | Pre-requisites: RAIL Tutorial 2 - Transmitting a Package | Requirements: none | HTML | 15 min
The culmination of the series of RAIL Tutorial for beginners that helps users implement a simple Transmit-Receive application (basic Rx and Tx combined) to download a packet, including receiving FIFO, packet handling, reading FIFO, and the actual downloading and printing of packets.
Beginner | Pre-requisites: RAIL Tutorial 3 - Event Handling | Requirements: none | HTML | 15 min
The first part of the series of RAIL Tutorial for intermediate users that establishes the importance of timing in most wireless protocols and introduces the concepts of RAIL time, timestamps, general purpose timer, multi-timer, scheduling Tx and Rx, state timing, and energy modes and sleep.
An overview of implementing temperature and image rejection calibrations to reach the maximum performance of the radio; important concepts such as how, when and why calibrations are performed, the drawbacks of performing calibrations, and what happens if calibrations aren’t done are also discussed in this tutorial.
Introduces debugging techniques and other RAIL-specific debug features, including RAILTest, debugging with SWD (some experience in SWD-based debugging in Simplicity Studio is needed), assertion, and debugging with GPIOs and PRS channels.
A quick guide to the simplest RAIL sample codes – with and without HAL – that are aimed to initialize RAIL and its required peripherals and to serve as the basic framework for adding necessary and/or desired features.
A sample project that shows how to set up, configure, compile, and run an application of the Connect sink (coordinator) and sensor (sleepy end nodes), also considering low power consumption using the low power mode for sensor nodes.
A description of the configuration and testing of wire replacement demo application – both on sleepy and non-sleepy end devices. This article provides an overview of these processes in Simplicity Studio with the appropriate commands and expected results to properly accomplish wire replacement.
A step-by-step guide on how to set up and use a Connect NCP UART and Host Sink, showed as an example project that allows customers to use a common firmware on the EFR32 SoC and control the NCP through the UART interface of applications running on different host equipment.
An introduction to OTA bootloading methods – Unicast and Broadcast – and other relevant information, including application and bootloader project configuration, project creation, flashing applications, and device preparation.
A tutorial that introduces several examples of handling longer frames than what fits into the buffer. This is accomplished by discussing several Topics such as advanced packet mode features, differences in FIFO mode, enabling FIFO mode, using FIFO mode – both for transmit and receive, special data sources, and direct mode.
A tutorial on the RAIL config files that are generated by various Silicon labs tools and how they work; including headers, callback functions, config arrays, helper arrays, IR calibration helpers, and channel configuration. Related topics such as creating channel configs both for uneven and evenly spaced channels are also discussed.