RIOT is a real-time multi-threading operating system that supports a range of devices that are typically found in the Internet of Things (IoT): 8-bit, 16-bit and 32-bit microcontrollers.
RIOT is based on the following design principles: energy-efficiency, real-time capabilities, small memory footprint, modularity, and uniform API access, independent of the underlying hardware (this API offers partial POSIX compliance).
RIOT is developed by an international open source community which is independent of specific vendors (e.g. similarly to the Linux community). RIOT is licensed with LGPLv2.1, a copyleft license which fosters indirect business models around the free open-source software platform provided by RIOT, e.g. it is possible to link closed-source code with the LGPL code.
RIOT is based on a microkernel architecture, and provides features including, but not limited to:
- a preemptive, tickless scheduler with priorities
- flexible memory management
- high resolution, long-term timers
- support 100+ boards based on AVR, MSP430, ESP8266, MIPS, ARM7 and ARM Cortex-M
- the native port allows to run RIOT as-is on Linux, BSD, and MacOS. Multiple instances of RIOT running on a single machine can also be interconnected via a simple virtual Ethernet bridge
- 6LoWPAN (RFC4944, RFC6282, and RFC6775)
- RPL (storing mode, P2P mode)
The 2019.07 release includes a number of new features including many new boards and cpu, riotboot added to many new and old boards, USB is now available, BLE improvements, Ethernet on stm32 platforms, as well as many bug fixes and documentation updates. Testing has also improved with both On-Target Testing increasing and now Hardware-Assisted Automated Tests being run.
About 300 pull requests with about 659 commits have been merged since the last release and about 50 issues have been solved. 26 people contributed with code in 106 days. Approximately 1377 files have been touched with 181993 insertions and 19668 deletions.