What is RIoT OS?
RIOT OS powers the Internet of Things like Linux powers the Internet. RIOT is a free, open source operating system developed by a grassroots community gathering companies, academia, and hobbyists, distributed all around the world.
RIOT supports most low-power IoT devices and microcontroller architectures (32-bit, 16-bit, 8-bit). RIOT aims to implement all relevant open standards supporting an Internet of Things that is connected, secure, durable & privacy-friendly.
RIOT is free software: you can redistribute it and/or modify. Software developed by the RIOT community is available under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 (LGPLv2.1).
Hardware for RIOT
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
RioT supports lot of architectures like AVR,, ARM7, Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, ESP8266, MIPS32, MSP430, PIC32, x86.
Boards: Airfy Beacon, Arduino Due,Arduino Mega 2560, Arduino Zero, Atmel samr21-Xplained Pro, f4vi, mbed NXP LPC1768, Micro::bit, Nordic nrf51822 (DevKit), Nordic nrf52840 (DevKit), Nucleo boards (almost all of them) and many more.
Features of RIOT
RIOT is Developer Friendly
- Standard programming in C or C++
- Standard tools such as gcc, gdb, valgrind
- Minimized hardware dependent code
- Zero learning curve for embedded programming
- Code once, run on 8-bit platforms (e.g. Arduino Mega 2560), 16-bit platforms (e.g. MSP430), and on 32-bit platforms (e.g. ARM)
- Partial POSIX compliance. Towards full POSIX compliance.
- Develop under Linux or Mac OS using the native port, deploy on embedded device
RIOT is Resource Friendly
Benefit from a microkernel architecture and a tickless scheduler on very lightweight devices.
- Robustness & code-footprint flexibility
- Enabling maximum energy-efficiency
- Real-time capability due to ultra-low interrupt latency (~50 clock cycles) and priority-based scheduling
- Multi-threading with ultra-low threading overhead (<25 bytes per thread)
RIOT is IoT Friendly
Make your applications ready for the smaller things in the Internet with common system support.
- 6LoWPAN, IPv6, RPL, and UDP
- CoAP and CBOR
- Static and dynamic memory allocation
- High resolution and long-term timers
- Tools and utilities (System shell, SHA-256, Bloom filters, …)
- Virtual hardware platform (i.e. board and cpu) to run RIOT inside a UNIX process
- Nativenet transceiver to create virtual testbeds
- Configurable topology
- Standard sniffing tools such as Wireshark
- No special hardware required
- RIOT embedded on PC with Linux or Mac OS
Core Software Support
- 6LoWPAN: RFC6282 and RFC6775 compliant
- RPL: RFC6550 compliant
- CoAP, CBOR, MQTT-SN, and UBJSON
- Arduino API
How it Work
Comparison of Current Operating Systems
According to https://www.riot-os.org