About this project
RIOT is an open-source microcontroller operating system aimed at Internet of Things (IoT) and other embedded devices. It targets 8-bit, 16-bit and 32-bit microcontrollers and is built around energy efficiency, real-time capabilities, a small memory footprint, modularity, and a uniform API that is partially POSIX-compliant and independent of the underlying hardware.
Supported platforms include 200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7 and ARM Cortex-M. A native port lets RIOT run as-is on Linux and BSD, and multiple instances on one machine can be interconnected through a virtual Ethernet bridge or a simulated IEEE 802.15.4 network (ZEP).
Programming can be done in C, C++ or Rust, using POSIX APIs, hardware abstractions and standard embedded Rust interfaces. Dynamic runtimes such as MicroPython, elm (JavaScript) and WASM can be integrated.
Networking support covers IPv6, IPv4 via lwIP, 6LoWPAN, UDP, TCP, RPL, CoAP, MQTT and MQTT-SN, LwM2M, Bluetooth LE via NimBLE, LoRaWAN, UWB, CAN, IEEE 802.15.4, Ethernet (including over USB), SLIP/ethos serial networking and single-pair-Ethernet-like networking over UART. Security features include OTA updates via SUIT, the PSA Cryptographic API, DTLS and EDHOC.
System features include a preemptive tickless scheduler with priorities and optional periodic round robin, flexible memory management, high-resolution long-term timers, an MTD abstraction layer for memory devices and file system integration. Device drivers cover SPI, I2C, UART, USB, CAN, RTC, PWM, timers, ADC, DAC, environmental sensors, IMUs, magnetometers, particulate matter sensors, servos, motors, dimmers, switches, RGB LEDs, displays, touchscreens and GNSS.
The project is developed by an international community independent of specific vendors and is licensed under LGPLv2.1, which permits linking closed-source code. Getting started resources include a guide, hands-on tutorials, an online course and API documentation. Source can be cloned via Git or downloaded from quarterly releases. Community support is available through a forum and Matrix chat, with bug reports and feature requests handled on GitHub.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.