RIOT OS – Operating System for the Internet of Things
Today Many IoT OS and RTOS are available for Internet f Things Devices. Today we discuss RIOT OS. The tag line of RIOT OS is “The friendly Operating System for IoT!” Yes this is really friendly and best OS for IoT devices.
What is RIOT OS ?
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 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 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 an open-source microkernel-based operating system, designed to match the requirements of Internet of Things (IoT) devices and other embedded devices. These requirements include a very low memory footprint (on the order of a few kilobytes), high energy efficiency, real-time capabilities, support for a wide range of low-power hardware, communication stacks for wireless and communication stacks for wired networks. RIOT supports a wide range of microcontroller architectures, radio drivers, sensors, and configurations for entire platforms, e.g. Atmel SAM R21 Xplained Pro, Zolertia Z1, STM32 Discovery Boards etc. (see the list of supported hardware. Across all supported hardware (32-bit, 16-bit, and 8-bit platforms). RIOT provides a consistent API and enables ANSI C and C++ application programming, with multithreading, IPC, system timers, mutexes etc.
RIOT aims to implement all relevant open standards supporting an Internet of Things that is connected, secure, durable & privacy-friendly.
Features
RIOT is based on a micro kernel architecture, and provides features including, but not limited to:
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
Resource Friendly
- 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)
IoT Friendly
- 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, …)
Comparison of Current Operating Systems
RIOT is a community project and publicly available. We host our source code on GitHub. Checkout the code from https://github.com/RIOT-OS/ or download the latest release.
If you interested in RIOT OS, I provide some useful links for more information.
- RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT (IEEE Internet of Things Journal, December 2018).
- https://doc.riot-os.org/
Source – https://www.riot-os.org/
I hope you like this post. Do you have any questions? Leave a comment down below!
You may like also: IoT OS and RTOS for Internet of Things Devices