silabs.com | Building a more connected world. Rev. 0.9
KEY POINTS
Product overview
Setting up your development environment
Discovering your SDK
Working with example applications.
Using the Hardware Configurator
QSG138: Getting Started with the Silicon
Labs Flex Software Development Kit for the
Wireless Gecko (EFR32) Portfolio
This quick start guide provides basic information on configuring,
building, and installing applications for the EFR32 using the
Silicon Labs Flex SDK (Software Development Kit). The Flex SDK
provides two paths to application development. The first uses
Silicon Labs Connect, which provides a fully-featured, easily-
customizable wireless networking solution optimized for devices
that require low power consumption and are used in a simple
network topology. The second begins with Silicon Labs RAIL
(Radio Abstraction Interface Layer), which provides an intuitive,
easily-customizable radio interface layer that is designed to
support proprietary or standards-based wireless protocols.
This guide is designed for developers who are new to the Silicon Labs Flex SDK, the
Simplicity Studio development environment, and Silicon Labs development hardware. It
provides instructions to get started using both the Connect and RAIL examples provided
with the Flex SDK used on the EFR32.
Connect is supported for EFR32FG, EFR32MG1x, and EFR32BG1x.
QSG138: Getting Started with the Silicon Labs Flex Software Development Kit for the Wireless Gecko (EFR32™) Portfolio
Flex SDK Product Overview
silabs.com | Building a more connected world. Rev. 0.9 | 1
1 Flex SDK Product Overview
The Silicon Labs Flex SDK supports developers who wish to take advantage of configurable protocol functionality provided in Silicon
Labs Connect and the underlying RAIL library, as well as those who wish to start application development on top of RAIL but develop
custom lower-level radio and network protocols.
This section covers:
Background information on RAIL, Connect, and the example applications included with the Flex SDK
Background information on the Gecko Bootloader
Prerequisites for application development using the Flex SDK
Support
Documentation
1.1 About Connect and RAIL
The Flex SDK provides two paths to application development. The first uses Silicon Labs Connect, which provides a fully-featured,
easily-customizable wireless networking solution optimized for devices that require low power consumption and are used in a simple
network topology. Connect example functionality is provided through easily-configurable plugins that can be turned on or off as desired.
The second begins with Silicon Labs RAIL (Radio Abstraction Interface Layer), which provides an intuitive, easily-customizable radio
interface layer that is designed to support proprietary or standards-based wireless protocols.
Whether you begin development with Connect or RAIL is determined by the example application you select as a starting point in Sim-
plicity Studio. Silicon Labs recommends that you start from a Connect example if you want to include the following functions without
further development:
MAC layer functionality including frequency hopping and security
Network formation and, for star networks, routing support
Application-level functionality, including diagnostics, I/O, mailbox, and sleepy end device management
Bootloading, including serial and Broadcast or Unicast OTA (over-the-air)
Host and NCP mode
The following sections provide additional detail on Connect and RAIL, including brief descriptions of the example applications. When
you create a project based on an example, the description on the Simplicity Studio IDE General tab provides additional detail about the
example and interfacing with it.
1.1.1 Silicon Labs Connect
Silicon Labs Connect functionality for the EFR32 is implemented on top of the RAIL library. Silicon Labs Connect supports many com-
binations of radio modulation, frequency and data rates. The stack includes all MAC layer functions such as scanning and joining, set-
ting up of a point-to-point or star network, device types such as sleepy end nodes, routers or coordinators, radio configuration, frequen-
cy hopping and LBT (Listen Before Talk) protocols required for regulatory compliance in each geographical region, and PHY configura-
tion for each of these regions. With all this functionality already implemented in the stack, developers can focus on their application de-
velopment and not worry about the lower level radio and network details.
The Flex SDK includes the following Connect example applications. Not all examples are accessible through the list on the Launcher
perspective. Specifically, most host examples are only accessible through the New Project project flow.
Connect (SoC): Commissioned Direct Device: Demonstrates direct communication between nodes in range. The network parame-
ters are commissioned by the application.
Connect (SoC): MAC Mode Device: Demonstrates direct MAC mode communication between nodes in range.
Connect (SoC): Sensor and Connect (SoC): Sink: The sensor and sink applications demonstrate how to set up a star network topol-
ogy in which communication occurs in both directions between the sink and the sensor(s) nodes.
Connect (SoC): Wire-Replacement: Demonstrates point-to-point bi-directional direct or indirect communication between two nodes.
Connect (Host): Commissioned Direct Device: Demonstrates direct communication between nodes in range. The network parame-
ters are commissioned by the application. It runs on Unix UART Host, with EFR32 NCP.