# riot-os/riot

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/riot-os-riot).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

5,760 stars · 2,105 forks · C · LGPL-2.1

## Links

- GitHub: https://github.com/RIOT-OS/RIOT
- Homepage: https://riot-os.org
- awesome-repositories: https://awesome-repositories.com/repository/riot-os-riot.md

## Description

RIOT is a real-time operating system designed for resource-constrained microcontrollers. It provides a kernel for managing hardware peripherals, memory, and multitasking on embedded devices, featuring a microcontroller hardware abstraction layer to unify hardware access across different chipsets.

The system employs a preemptive tickless task scheduler with priority-based execution to maximize energy efficiency in battery-powered hardware. It also includes an embedded security framework consisting of cryptographic APIs and secure transport protocols to facilitate authenticated over-the-air firmware updates.

The project further implements a modular network stack supporting IPv6, IPv4, and Ethernet for device connectivity. It covers peripheral hardware control for sensors and actuators, flexible device memory management, and the execution of portable binaries and scripts through specialized runtimes.

## Tags

### Operating Systems & Systems Programming

- [Microcontroller Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/microcontroller-kernels.md) — Provides a complete core kernel designed specifically for hardware abstraction and process scheduling on resource-constrained microcontrollers. ([source](https://github.com/riot-os/riot#readme))
- [Managed Memory Allocators](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/custom-memory-allocators/managed-memory-allocators.md) — Provides specialized allocators and buffer managers to ensure predictable memory consumption on embedded devices. ([source](https://github.com/riot-os/riot#readme))
- [Device Memory Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/system-memory-allocation/device-memory-abstraction-layers.md) — Implements flexible memory allocation and an abstraction layer for various types of device memory.
- [Real-Time Operating Systems](https://awesome-repositories.com/f/operating-systems-systems-programming/real-time-operating-systems.md) — Provides a deterministic kernel for resource-constrained microcontrollers to manage peripherals, multitasking, and memory.
- [Low-Power Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/task-priority-management/preemptive-scheduling/low-power-schedulers.md) — Manages system processes using a preemptive tickless mechanism to maximize energy efficiency on battery-operated devices.
- [Tickless Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/task-priority-management/preemptive-scheduling/tickless-schedulers.md) — Employs a preemptive tickless task scheduler with priority-based execution to maximize energy efficiency. ([source](https://github.com/riot-os/riot#readme))
- [Tickless Scheduling](https://awesome-repositories.com/f/operating-systems-systems-programming/task-priority-management/preemptive-scheduling/tickless-scheduling.md) — Employs a preemptive tickless task scheduler to maximize energy efficiency in battery-powered hardware.
- [Cross-Architecture Binary Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/cross-architecture-binary-execution.md) — Provides a specialized runtime to execute platform-independent portable binaries on resource-constrained hardware.

### Software Engineering & Architecture

- [Embedded Systems Development](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/application-targets-domains/embedded-systems-development.md) — Provides a complete environment and kernel for developing software on resource-constrained microcontrollers.

### DevOps & Infrastructure

- [Tickless](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers/os-scheduling-simulations/task-schedulers/tickless.md) — Implements a preemptive multitasking system with priority-based execution to maximize battery efficiency.

### Hardware & IoT

- [Hardware Abstraction Layers](https://awesome-repositories.com/f/hardware-iot/hardware-abstraction-layers.md) — Provides a standardized hardware abstraction layer to decouple high-level logic from specific microcontroller implementations.
- [Hardware Peripheral Drivers](https://awesome-repositories.com/f/hardware-iot/hardware-peripheral-drivers.md) — Provides low-level firmware interfaces and drivers for controlling sensors, actuators, and displays.
- [Microcontroller Abstraction Layers](https://awesome-repositories.com/f/hardware-iot/microcontroller-abstraction-layers.md) — Provides a standardized API layer that abstracts underlying microcontroller architectures for unified hardware access.
- [Authenticated Firmware Updates](https://awesome-repositories.com/f/hardware-iot/over-the-air-device-updates/authenticated-firmware-updates.md) — Implements a security framework with cryptographic APIs to facilitate authenticated over-the-air firmware updates. ([source](https://github.com/riot-os/riot#readme))
- [Peripheral Hardware Controllers](https://awesome-repositories.com/f/hardware-iot/peripheral-hardware-controllers.md) — Provides APIs and drivers for managing diverse hardware peripherals including sensors and actuators. ([source](https://github.com/riot-os/riot#readme))
- [Unified Hardware Interfaces](https://awesome-repositories.com/f/hardware-iot/unified-hardware-interfaces.md) — Standardizes interaction with various microcontroller platforms through a uniform hardware interface. ([source](https://github.com/riot-os/riot#readme))
- [Firmware OTA Update Systems](https://awesome-repositories.com/f/hardware-iot/firmware-management/remote-firmware-updaters/firmware-ota-update-systems.md) — Implements a full system for wirelessly deploying authenticated firmware binaries to remote device fleets.
- [Authenticated Update Mechanisms](https://awesome-repositories.com/f/hardware-iot/firmware-management/remote-firmware-updaters/firmware-ota-update-systems/power-fail-safe-update-mechanisms/authenticated-update-mechanisms.md) — Implements secure firmware updates using cryptographic verification and authenticated transport protocols.

### Networking & Communication

- [Network Stacks](https://awesome-repositories.com/f/networking-communication/network-stacks.md) — Implements a layered communication stack including IPv6, IPv4, and Ethernet for low-power device connectivity.
- [Modular](https://awesome-repositories.com/f/networking-communication/network-stacks/modular.md) — Ships a modular network stack that separates layers for interoperability and supports both IPv6 and IPv4.
- [Remote Device Connectivity](https://awesome-repositories.com/f/networking-communication/remote-device-connectivity.md) — Enables physical devices to establish network connections using IPv6, IPv4, and Ethernet protocols.

### Security & Cryptography

- [Embedded Security Frameworks](https://awesome-repositories.com/f/security-cryptography/embedded-security-frameworks.md) — Provides a set of cryptographic APIs and secure transport protocols to protect data and updates.

### Programming Languages & Runtimes

- [Portable Binary Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/scripting-languages/dynamic-scripting-runtimes/portable-binary-runtimes.md) — Integrates specialized runtimes to execute portable binaries and scripts on embedded hardware. ([source](https://github.com/riot-os/riot#readme))

### Part of an Awesome List

- [Operating Systems](https://awesome-repositories.com/f/awesome-lists/devops/operating-systems.md) — Friendly OS for the Internet of Things.
- [Real-Time Operating Systems](https://awesome-repositories.com/f/awesome-lists/devops/real-time-operating-systems.md) — Multi-threading OS optimized for Internet of Things devices.
- [Tools](https://awesome-repositories.com/f/awesome-lists/more/tools.md) — Listed in the “Tools” section of the Awesome Scapy awesome list.
