Firmware Management
1. Introduction
An edge device has two firmwares:
- Application Firmware - runs on the Application Microcontroller
- Core Firmware - runs on the Core Microcontroller (modem)
Application firmwares are written and managed by the IoT developer.
Core firmwares are developed by RIoT Secure AB and are managed by the system administrator.
This document describes how to use the Management Console to manage firmwares and perform over-the-air firmware updates.
Releated Documentation
Also see the Firmware OTA Tutorial for step-by-step instructions.It is also posible to manage firmwares and do over-the-air firmware updates programatically using the RIoT Secure REST API.
A command-line application firmware update tool is available for download. This tool can reduce the turn-around time of firmware updates during development and testing of embedded applications.
2. Firmware Development Workflow
Application firmware is written in the Arduino IDE and uploaded to the RIoT Secure Platform using the Management Console, from where it is deployed over-the-air to the edge device.
Firmware source files are in the format of Arduino sketches. Instead of connecting to the device using a USB-cable, the sketch is exported to binary format in the Arduino IDE.
The exported binary firmware file is then uploaded using the Console.
To update the firmware of a device, the Console is used to assign the new firmware to the device. The firmware is then sent to the device over-the-air.
3. Application Firmware Management
3.1. Application Firmwares Screen
Application firmware is managed on the Application Firmwares Screen in the Management Console.
This screen displays a list of application firmwares displayed in a table view.

3.2. Upload Application Firmware
3.2.1. Create a New Firmware Entry
Create a new application firmware entry by clicking the “+” icon on the Application Firmwares Screen.

3.2.2. Fill in the Form Fields

The following form fields are available:
| Field | Purpose |
|---|---|
| Name | The firmware name (must not contains spaces) |
| Microcontroller | The target microcontroller of the firmware |
| Version | A unique version number (see details below) |
| Identifier | An internal identifier defined in the platform (filled in automatically when the mircocontroller is selected) |
| Description | A user readable description of the firmware |
| Upload File | Select the firmware file to upload to the platform |
The following are commonly used microcontrollers:
| Board | Microcontroller |
|---|---|
| Arduino Uno | ATmega328P |
| Arduino Mega | ATmega2560 |
Arduino Uno Example
This is an example of form field values for an Arduino Uno firmware.

Arduino Mega Example
This is an example of form field values for an Arduino Mega firmware.

3.2.3. Upload the Exported Firmware File
Click on Choose file to select the firmware file to upload.

3.2.4. Save the Firmware Entry
When the form is complete, click on the Create button to save the firmware object.

3.2.5. Firmware Version Number Format
The application firmware version number is used to uniquely identify the firmware and to keep track of different firmware versions. The version number must be unique for each entry; however, if an entry is deleted, it can be reused. The version number consists of four digits between 0 and 255.
The following version numbers are reserved by the system:
0.0.0.0
255.255.255.255
For the purpose of simplicity and easier management of firmware files - it is suggested to use a consistent naming convention; such as using the two first numbers as a project related identifier, and the last two for the major and minor firmware version, as in this pattern:
id1.id2.major.minor
For example, the following firmware version number:
1.1.0.1
has these fields:
| Field | Number |
|---|---|
| Device-id | 1 |
| Application-id | 1 |
| Major version | 0 |
| Minor version | 1 |
3.3. View Application Firmware
To show a detailed view of an application firmware, click the “eye” icon on an entry in the table view.
3.4. Delete Application Firmware
To delete an application firmware, click the “bin” icon on an entry in the table view.
4. Over-the-Air Device Firmware Updates
Both Application Firmware and Core Firmware is updated over-the-air. This is done on the Devices Screen in the Management Console.
4.1. Application Firmware Update
- Open the device and locate to the Microcontrollers section.
- Click the “pencil” icon to open the microcontroller subform (a device can have up to four microcontrollers, but the common case is one microcontroller).
- Select the desired application firmware from the popup menu.
- Click the Update button to save the change.
The application firmware update will take place the next time the device connects to the server (ususally within 1 minute).



4.2. Core Firmware Update
To update the Core Firmware of a device:
- Open the device and locate to the Core Firmware field.
- Click the field to display a popup menu. Selected the desired Core Firmware from this menu.
- Scroll to the end of the device view and click the Update button to save the change.
The core firmware update will take place the next time the device connects to the server (ususally within 1 minute).


Core firmware files are created and managed by the system administrator.