RIOT is an open-source microcontroller operating system designed for Internet of Things devices and embedded systems.
RIOT addresses the challenge of running a capable operating system on resource-constrained devices by prioritizing energy efficiency, real-time capabilities, small memory footprint, and modularity. The system provides a uniform API with partial POSIX compliance across diverse hardware, allowing developers to write code once and deploy it across different microcontroller architectures. It supports 8-bit, 16-bit, and 32-bit microcontrollers from multiple vendors and can also run natively on Linux and BSD for development and testing.
RIOT suits projects targeting IoT deployments where you need standardized APIs across heterogeneous hardware. The platform supports over 200 boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, and ARM Cortex-M architectures. Developers can write in C, C++, or Rust, and the system integrates dynamic runtimes including MicroPython, elm, and WebAssembly. The networking stack is comprehensive, covering IPv6, IPv4, 6LoWPAN, CoAP, MQTT, LwM2M, Bluetooth, LoRaWAN, and IEEE 802.15.4, along with security features like SUIT OTA updates, PSA cryptographic APIs, and DTLS. The native port enables testing multiple RIOT instances on a single Linux or BSD machine, interconnected via virtual Ethernet or simulated IEEE 802.15.4 networks.
The project maintains a healthy balance between core team and external contributions, with open issues reflecting input from both maintainers and outside users. Maintainers typically respond to new issues and pull requests within a day. Work in the issue tracker centers on bug fixes, tracking tasks, and documentation improvements.