RIOT OS is free and open-source, It is specially designed to meet the particular needs of the IoT, with features like a low memory footprint, high energy efficiency, real-time capabilities, a modular and configurable communication stack, and support for a wide range of low-power devices. It is friendly to IoT applications. It is developed in 2008 as an OS for wireless sensor nodes.
Features of RIOT
- There are no new programming environments. C or C++ can be used directly with existing tools like gcc, gdb, etc.
- Less hardware-dependent code.
- Supports 8-,16- and 32-bit microcontroller platforms.
- Energy efficiency is maintained.
- Less interrupt latency, so real-time capability is ensured.
- Multi-threading is enabled.
- Supports the entire network stack of IoT (802.15.4 Zigbee, 6LoWPAN, ICMP6, Ipv6, RPL, CoAP, etc)
- Both static and dynamic memory allocation
- POSIX compliant (partial)
- All output can be seen in the terminal if the hardware is not available; however, there is a visualization tool called RIOT-TV that is provided
It supports various architectures like MSP430, ARMt, AR
- Cortex-M0, M3, and M4
- x86, etc
It also supports the native port, where one can simulate the output within the OS it is running. So RIOT is supported in Linux as well as OS X. There are in-built drivers for the following sensors (without the need for hardware, these sensors can be modeled in native mode also):
- Radio receivers
- Environmental sensors for humidíty, temperature, pressure, alcohol, gas, etc
- Ultrasonic sensors, light, and servo motors
Most of the sensor boards like TelosB, ST, Zolertia, MSP 430, Arduino, and Atmel have support from this OS. RIOT also supports virtualization, where the code and application can run as a simple UNIX process. It also uses Wireshark for packet sniffing.
Other IoT Tutorials