Gecko OS is now in maintenance and is not recommended for new designs. Please see the Software Advisory for detailed information (registration required).

General Overview

Gecko OS 2 Quickstart Gecko OS 2 Hardware Support

What is Gecko OS Edition 2?

Gecko OS is an IoT operating system that runs on Silicon Labs wireless and wired IoT connectivity modules. Gecko OS helps you build your wireless IoT app by shielding you from the complexity of hardware, protocols and standards, leaving you to focus on building a great IoT application. All Wireless Xpress products from Silicon Labs are powered by Gecko OS making use of the Gecko OS Command API.

Hardware running Gecko OS provides a product with a powerful and secure wireless connection to a mobile device or the cloud. Developers can build IoT Applications that communicate with Gecko OS using the extensive Wi-Fi Command API, via serial interface, HTTP REST or a remote terminal.

Command API

The Gecko OS 2 Command API is available for applications connecting with a wired serial interface, or a wireless interface using HTTP REST or Remote Terminal. The API provides direct access to peripherals connected to Gecko OS hardware via GPIO. For a quick start guide to using a Gecko OS evaluation board, see Getting Started .

Features and Interfaces

The Gecko OS 2 Command API offers a powerful set of commands for control of connected devices, together with a large number of variables for configuration.

A host MCU communicates with Gecko OS via a UART.

A mobile or desktop app communicates with Gecko OS via the HTTP Server RESTful API or by the local or remote terminal interface.

The local or remote host sends commands to control the operation of Gecko OS and to exchange data with other devices on the network.

A summary of Gecko OS 2 features and interfaces is outlined in the following sections.

Wi-Fi, Networking & Web

Peripherals & Sensors

System

All Gecko OS commands can be issued manually using human mode or under host control using machine mode . Human mode should only be used for evaluation and manual testing. Machine mode is strongly recommended for production.

For human mode, the interfaces are a Gecko OS Terminal , the Web App , or a remote terminal .

Getting Started

To start using your Gecko OS hardware in human mode, see Getting Started .

Web App

The Web App provides complete monitoring and control of your Gecko OS hardware using a web browser.

See Web App .

Serial Interface

Gecko OS provides one of the easiest to use and most flexible serial Wi-Fi networking interfaces in the industry. The Gecko OS serial interface provides support for multiple serial buses, different serial communications modes including command mode and stream mode , and is easily configured for use by humans and machines alike.

See Serial Interface .

Wi-Fi

Gecko OS provides an easy-to-use serial API allowing you to focus your efforts on application development, rather than the time-consuming complexity and interoperability issues associated with the development of a full-featured secure wireless network stack.

Two Wi-Fi interfaces are supported, including a Wi-Fi client (wlan) and Wi-Fi soft access point (softAP) interface. Each interface may be run independently or concurrently to suit various application needs.

See Wi-Fi Interface .

Networking and Security

Gecko OS includes a full IPv4 networking stack and SSL/TLS security suite that supports a range of popular networking protocols including TCP, UDP, DNS, DHCP. Additional network application libraries are provided for native HTTP/S and secure cloud access.

See Networking and Security .

Peripherals

Various peripheral APIs are available to provide access to general purpose IOs (GPIOs), analog functions such as analog-digital and digital-analog converters, and timers including a real time clock. Special system and network functions can be assigned to GPIOs to enable handy features including:

See Peripherals .

File System

Most connected applications require the ability to store configuration information or cache local data. Gecko OS provides a reliable read/write filesystem and on-board flash storage to satisfy application storage requirements. With just a few simple commands, Gecko OS provides your application with complete access to local and network connected storage.

See File System .

Memory

For management of Gecko OS device memory, see Memory .

Configuration and Setup

Several options are available to setup a module running Gecko OS. The most common option, and also the most convenient when prototyping is to use a command line and serial interface such as a UART. A PC terminal can be quickly connected to a Gecko OS evaluation board, and within 60 seconds it is possible to be connected to a Wi-Fi network and downloading HTTP webpages or connecting to a remote TCP server.

Other methods for configuration, setup and Wi-Fi provisioning include:

See Configuration and Setup .

System Functions

System functions include:

See System Functions .

Update and Recovery

Gecko OS is part of a larger sophisticated application framework installed on all Gecko OS devices. The framework provides a hardened bootloader, read/write file system, safemode recovery mechanism, and over-the-air (OTA) update capability.

Silabs manages a secure on-line OTA server that offers each Gecko OS device with the ability to securely update individual files, applications or an entire firmware bundle. In the rare event that Gecko OS fails to regularly execute correctly, the bootloader switches the boot application to safe mode. The safe mode application provides the host with the ability to update the firmware, switch back to Gecko OS or even factory reset the module.

See Update and Recovery .