
MLS/160A – System Reference
D o c u m e n t R e v i s i o n 1 . 1
4 OPERATING SYSTEM
The MLS/160A’s firmware is built with the lightweight real time operating system RIOT.
RIOT is a free, open source operating system and is designed for the particular re uire-
ments of Internet of Things (IoT) scenarios. For more information please see:
https://riot-os.org/
RIOT offers a low memory footprint, high energy efficiency, real-time capabilities and a
modular and configurable communication stack. It provides a microkernel, utilities like
cryptographic libraries, data structures (bloom filters, hash tables, priority ueues), a shell,
various network stacks, and support for various microcontrollers, radio drivers, sensors,
and configurations for entire platforms, e.g. the STM32 MCU family.
The microkernel itself comprises thread management, a priority-based scheduler, a power-
ful API for inter-process communication (IPC), a system timer, and mutexes.
All this makes it an ideal OS for the MLS/160A and opens up versatile options for own de-
velopments, as well as benefiting from community driven enhancements.
In order to build an application or library with RIOT, you first need to download the source
code. You can obtain the latest firmware code from the SSV Github account:
https://github.com/SSV-embedded/fw-mls160a
To compile RIOT for the MLS/160A, you need to install the corresponding toolchain for
STM32 MCUs (ARM 32-bit Cortex-M3).
On a Linux host you may use the default GNU cross compiler for ARM architecture of your
Linux distribution. Please refer to the RIOT webpage to see how to set up a cross compiler
environment for a different operating system like Windows10.
Table 7 shows the STM32 GPIO mapping of the MLS/160A:
Table 7: STM32 GPIO mapping of MLS/160A