Getting Started with Connect Stack
Connect Documentation | Release Notes | Downloads
Silicon Labs is developing products designed to meet the demands of customers as we move to an ever-connected world of devices in the home, what is often referred to as the IoT (Internet of Things). At a high level the goals of IoT for Silicon Labs are to:
- Connect all the devices in the home with best-in-class mesh networking, whether with Ember ZigBee PRO or other emerging standards.
- Leverage the company's expertise in low-power, constrained devices.
- Enhance established low-power, mixed-signal chips.
- Provide low-cost bridging to existing Ethernet and Wi-Fi devices.
- Enable cloud services and connectivity to smartphones and tablets that promote ease of use and a common user experience for customers.
Achieving all of these goals will increase adoption rates and user acceptance for IoT devices in the Connected Home.
One such challenge is managing devices requiring low power consumption, such as battery-powered devices where long battery life is essential. To meet this challenge Silicon Labs has developed the Silicon Labs Connect stack. Connect 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 is configurable to be compliant with regional communications standards worldwide. Each RF configuration is designed for maximum performance under each regional standard.
The Silicon Labs Connect stack supports many combinations of radio modulation, frequency and data rates. The stack provides support for end nodes, coordinators, and range extenders. It includes all wireless MAC (Medium Access Control) layer functions such as scanning and joining, setting up a point-to-point or star network, and managing device types such as sleepy end devices, routers, and coordinators. With all this functionality already implemented in the stack, users can focus on their end application development and not worry about the lower-level radio and network details.
The Connect stack should be used in applications with simple network topologies, such as a set of data readers feeding information directly to a single central collection point (star or extended star topology), or a set of nodes in the same range exchanging data in a single-hop fashion (direct devices or MAC devices). It does not provide a full mesh networking solution such as that provided by the EmberZNet PRO or Silicon Labs Thread stacks.
The Connect stack is part of the Silicon Labs Flex SDK (Software Development Kit), installed through Simplicity Studio. Connect runs on top of RAIL (Radio Abstraction Interface Layer), also included with the Flex SDK. RAIL provides an intuitive, easily-customizable radio interface layer that is designed to support proprietary or standards-based wireless protocols. For more information, see UG103.13: RAIL Fundamentals.
The Connect stack supports efficient application development through its “building block” plug-in design. When used with the Simplicity Studio IDE (Integrated Development Environment), developers can easily select the functions that should be included in the application. The resulting applications are completely portable, in that they can be recompiled for different regions, different MCUs, and different radios.
The Connect stack supports the following device types:
- Star coordinator: The star coordinator forms and manages the star or extended star network. The star coordinator also communicates with other range extenders and end nodes. Each Connect star network has a single coordinator.
- Star range extender: A device between the star coordinator and one or more star end nodes that can be used to extend the range of the star end nodes. Each range extender can serve up to 32 star end nodes.
- Star end node: Joins to a star coordinator or a star range extender.
- Direct device: A device able to send and receive messages from other (direct) devices in range on the same PAN, with no star topology restrictions.
- MAC device: A device able to send and receive standard 802.15.4 messages from other 802.15.4 devices in range.
The Connect stack provides code organized into three functional layers, as shown in the following figure:
- PHY (physical)
The PHY and MAC layers are based on the IEEE 802.15.4-2011 standard IEEE 802.15.4-2011 Specification.
The Network layer is based on a proprietary protocol.
Finally, the Connect Application Framework provides a complete tool and API infrastructure over the underlying stack layers. Functionality within the Application Framework and the Connect stack layers is provided in the form of individual building blocks called plugins. Details of the plugins for each layer are provided in the Silicon Labs Connect Application Framework API Reference included in the stack documentation.
For more information about Connect Stack, see UG103.12.
The Connect SDK and the accompanying RAIL SDK are delivered as part of the Proprietary Flex SDK.
Getting Started with Simplicity Studio 5 and the Gecko SDK - Describes downloading development tools and the Gecko SDK, which includes the Flex SDK (Connect and RAIL). Introduces the Simplicity Studio 5 interface.
QSG168: Proprietary Flex SDK v3.x Quick Start Guide - Provides basic information on configuring, building, and installing applications using Silicon Labs Connect and RAIL, the two development paths in the Silicon Labs Proprietary Flex SDK v3.x.
UG103.12: Connect Fundamentals - Describes the features and functions of the Silicon Labs Connect stack, including its device types, network topologies, and its 'building block' development methodology using plugins.
UG103.01: Wireless Networking Fundamentals - Introduces some fundamental concepts of wireless networking. These concepts are referred to in other Fundamentals documents. If you are new to wireless networking, you should read this document first.
Developing with Connect
UG435.01: About the Connect v3.x User's Guide - Introduces the Connect User's Guide collection for the Flex SDK v3.x.
UG435.02: Using Silicon Labs Connect v3.x with IEEE 802.15.4 - Introduces the IEEE 802.15.4 standard on which Connect v3.x is based.
UG435.03: Architecture of the Silicon Labs Connect Stack v3.x - Describes the architecture of the Silicon Labs Connect stack v3.x an how it implements IEEE 802.15.4.
UG435.04: Customizing Applications with Silicon Labs Connect v3.x - Describes how to use components, callbacks, and events on top of the Gecko Platform application framework to configure features and application behavior.
UG435.05: Using Real Time Operating Systems with Silicon Labs Connect v3.x - Describes the process to implement a Connect-based application on top of one of the supported Real Time Operating Systems (RTOS).
UG435.07: Energy Saving with Silicon Labs Connect v3.x - Describes the features available in Connect v3.x to reduce power consumption. Using those features is described in AN1252: Building Low Power Networks with the Silicon Labs Connect Stack v3.x.
AN1252: Building Low Power Networks with the Silicon Labs Connect Stack v3.x - Illustrates reducing power consumption in a Connect v3.x application using the sensor example.
UG162: Simplicity Commander Reference Guide - Describes how and when to use Simplicity Commander's Command-Line Interface.
UG103.06: Bootloader Fundamentals - Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
UG435.06: Bootloading and OTA with Silicon Labs Connect v3.x - Explains standalone (serial) and application (OTA) bootloader options available for use within Connect v3.x-based applications.
AN1085: Using the Gecko Bootloader with Silicon Labs Connect - Includes detailed information on using the Silicon Labs Gecko Bootloader with Connect. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.
UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher - Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.
AN1326: Transitioning to the Updated Gecko Bootloader in GSDK 4.0 and Higher - Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.
AN1218: Series 2 Secure Boot with RTSL - Contains detailed information on configuring and using the Secure Boot with hardware Root of Trust and Secure Loader on Series 2 devices, including how to provision the signing key. This is a companion document to UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.
UG103.16: Multiprotocol Fundamentals - Describes the four multiprotocol modes, discusses considerations when selecting protocols for multiprotocol implementations, and reviews the Radio Scheduler, a required component of a dynamic multiprotocol solution.
UG305: Dynamic Multiprotocol User's Guide - Describes how to implement a dynamic multiprotocol solution.
Non-Volatile Data Storage
UG103.07: Non-Volatile Data Storage Fundamentals - Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: Simulated EEPROM, PS Store, and NVM3.
AN1135: Using Third Generation Non-Volatile Memory (NVM3) Data Storage - Explains how NVM3 can be used as non-volatile data storage in various protocol implementations.
AN961: Bringing Up Custom Devices for the EFR32MG and EFR32FG Families - Describes how to initialize a piece of custom hardware (a 'device') based on the EFR32MG and EFR32FG families so that it interfaces correctly with a network stack. The same procedures can be used to restore devices whose settings have been corrupted or erased.
AN1154: Using Tokens for Non-Volatile Data Storage - Describes tokens and shows how to use them for non-volatile data storage in EmberZNet PRO and Silicon Labs Flex applications.
UG103.05: IoT Endpoint Security Fundamentals - Introduces the security concepts that must be considered when implementing an Internet of Things (IoT) system. Using the ioXt Alliance's eight security principles as a structure, it clearly delineates the solutions Silicon Labs provides to support endpoint security and what you must do outside of the Silicon Labs framework.
AN1190: Series 2 Secure Debug - Describes how to lock and unlock the debug access of EFR32 Gecko Series 2 devices. Many aspects of the debug access, including the secure debug unlock are described. The Debug Challenge Interface (DCI) and Secure Engine (SE) Mailbox Interface for locking and unlocking debug access are also included.
AN1222: Production Programming of Series 2 Devices - Provides details on programming, provisioning, and configuring Series 2 devices in production environments. Covers Secure Engine Subsystem of Series 2 devices, which runs easily upgradeable Secure Engine (SE) or Virtual Secure Engine (VSE) firmware.
AN1247: Anti-Tamper Protection Configuration and Use - Shows how to program, provision, and configure the anti-tamper module on EFR32 Series 2 devices with Secure Vault.
AN1268: Authenticating Silicon Labs Devices using Device Certificates - How to authenticate an EFR32 Series 2 device with Secure Vault, using secure device certificates and signatures.
AN1271: Secure Key Storage - Explains how to securely "wrap" keys in EFR32 Series 2 devices with Secure Vault, so they can be stored in non-volatile storage.
AN1303: Programming Series 2 Devices Using the Debug Challenge Interface (DCI) and Serial Wire Debug (SWD) - Describes how to provision and configure Series 2 devices through the DCI and SWD.
AN1311: Integrating Crypto Functionality Using PSA Crypto Compared to Mbed TLS - Describes how to integrate crypto functionality into applications using PSA Crypto compared to Mbed TLS.