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.
It 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 that is independent of specific vendors (e.g. similarly to the Linux community). RIOT is licensed with LGPLv2.1, a copyleft license that 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)
About 460 pull requests, composed of 950 commits, have been merged since the last release, and about 60 issues have been solved. 57 people contributed with code in 105 days. Approximately 2000 files have been touched with 129000 insertions and 25000 deletions.
- The 2020.01 release includes:
- Initial support for MicroPython
- Initial support for GNRC based LoRaWAN stack
- Initial (experimental) asynchronous sock support
- Extend support for lpc2387 and fe310 cpus
- Xtimer concurrency/robustness improvement, fixing #8388, #5338 & #5103
- Complete re-implementation of esp8266 based on ESP8266 RTOS SDK
- Improvements in automatic tests
- Introduce and start using Kconfig as a configuration tool
- +12 new boards, +7 new drivers, +4 new packages
About 527 pull requests, composed of 1367 commits, have been merged since the
last release, and about 29 issues have been solved. 61 people contributed with
code in 111 days. Approximately 3053 files have been touched with 134416 (+)
insertions and 31870 deletions (-).