RIOT-OS/RIOT logo

RIOT-OS/RIOT

Free

RIOT - The friendly OS for IoT

FreeFree tier
Type
Open Source

About RIOT-OS/RIOT

RIOT is an open-source operating system designed for microcontrollers and Internet of Things (IoT) devices. It supports a wide range of hardware including 8-bit, 16-bit, and 32-bit microcontrollers (200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, ARM Cortex-M) and offers a native port for Linux/BSD. The OS is built on principles of energy efficiency, real-time capabilities, small memory footprint, modularity, and uniform API access with partial POSIX compliance. Developers can write code in C, C++, or Rust, and integrate dynamic runtimes such as MicroPython, JavaScript (elm), and WebAssembly. The network stack includes IPv6, IPv4 (via lwIP), 6LoWPAN, UDP, TCP, RPL, CoAP, MQTT (paho-mqtt and MQTT-SN), LwM2M, and Bluetooth (BLE via NimB). RIOT is licensed under LGPLv2.1 and is developed by an international open-source community.

Key Features

Supports 200+ microcontroller boards (AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, ARM Cortex-M)
Native port to run on Linux and BSD
Programming in C, C++, Rust with POSIX API and hardware abstractions
Integrate MicroPython, JavaScript (elm), and WebAssembly runtimes
Network stack: IPv6, IPv4, 6LoWPAN, UDP, TCP, RPL, CoAP, MQTT, MQTT-SN, LwM2M, BLE
Energy-efficient design with real-time capabilities and small memory footprint
Modular architecture with uniform API across hardware
LGPLv2.1 licensed for flexible commercial use

Pros & Cons

Pros
  • Open source and free with permissive LGPL license
  • Real-time capable and energy efficient
  • Broad hardware support across multiple architectures
  • POSIX-like API simplifies development and porting
  • Supports multiple programming languages (C, C++, Rust) and runtimes
  • Rich network protocol stack out of the box
Cons
  • Primarily designed for microcontrollers, not general-purpose computing
  • Requires embedded systems development knowledge
  • Not an AI/ML tool; lacks native AI acceleration support
  • Community support and documentation may be less extensive than commercial RTOS

Best For

Internet of Things (IoT) devices and smart sensorsWearable technology and low-power embedded systemsIndustrial automation and control systemsWireless sensor networks with mesh networkingSmart home and building automationEdge computing on resource-constrained hardware

FAQ

What hardware does RIOT support?
RIOT supports over 200 boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, and ARM Cortex-M microcontrollers. It also runs natively on Linux and BSD via the native port.
Is RIOT free to use?
Yes, RIOT is open-source software licensed under LGPLv2.1, which allows both open-source and proprietary use.
What programming languages can I use with RIOT?
You can write applications in C, C++, and Rust. RIOT also supports dynamic runtimes like MicroPython, JavaScript (elm), and WebAssembly.
Does RIOT support networking?
Yes, RIOT includes a comprehensive network stack with IPv6, IPv4 (lwIP), 6LoWPAN, UDP, TCP, RPL, CoAP, MQTT, MQTT-SN, LwM2M, and Bluetooth (BLE via NimB).