Watch
3
0
Fork
You've already forked RIOT
0
mirror of synced 2026-10-09 13:37:05 +02:00
RIOT - The friendly OS for IoT https://riot-os.org
  • C 91.7%
  • C++ 2.9%
  • Makefile 2.8%
  • Python 2.2%
  • Linker Script 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
benpicco cd8a3aa0a5
Merge pull request #22749 from basilfx/feature/gnrc-tcp-listen-buffer-reset
sys/net/gnrc/tcp: clear receive buffer on listening
2026-10-05 15:48:42 +00:00
.cargo .cargo: Revert to branch reference for riot-wrappers 2026-05-12 09:59:07 +02:00
.github treewide: remove references to vagrant 2026-09-15 18:55:01 +02:00
.vscode .vscode: disable CMake window, detect .mdx as Markdown 2026-05-08 16:03:50 +02:00
boards Merge pull request #22271 from baptleduc/port-radiolib 2026-09-28 20:49:18 +00:00
bootloaders examples: shorten subfolders' names 2025-02-21 09:55:24 +01:00
core core: annotate function declarations with access attribute 2026-06-10 12:34:42 +02:00
cpu Merge pull request #22832 from basilfx/feature/esp8266-newer-gcc-fixes 2026-10-05 15:45:03 +00:00
dist Merge pull request #22722 from crasbe/pr/remove_gdbinit-docker 2026-10-03 14:06:46 +00:00
doc Merge pull request #22271 from baptleduc/port-radiolib 2026-09-28 20:49:18 +00:00
drivers Merge pull request #22740 from Stopkaa/ieee802154-remove-netopt-page 2026-10-02 21:27:52 +00:00
examples sys/shell, examples: drop channel page from ifconfig 2026-09-29 10:03:07 +02:00
fuzzing fuzzing: Add uri_parser fuzzer setup 2022-12-19 13:03:45 +01:00
kconfigs *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
LICENSES LICENSES: add GPL version 3.0 2026-09-19 22:13:40 +02:00
makefiles Merge pull request #22826 from maribu/build-system/debug-symbol-path-setup 2026-10-03 11:28:59 +00:00
pkg pkg/esp8266_sdk: fix multiple definition of esp_image_spi_freq_t 2026-10-05 14:36:19 +02:00
sys Merge pull request #22749 from basilfx/feature/gnrc-tcp-listen-buffer-reset 2026-10-05 15:48:42 +00:00
tests Merge pull request #22749 from basilfx/feature/gnrc-tcp-listen-buffer-reset 2026-10-05 15:48:42 +00:00
.clang-format .clang-format: Update style 2026-09-14 12:25:43 +02:00
.clang-tidy .clang-tidy: add two more exceptions 2026-08-01 12:36:43 +02:00
.editorconfig .editorconfig: remove wrong key tab_size 2025-10-30 09:49:48 +01:00
.gitattributes .gitattributes: mark generated files as linguist-generated 2026-04-14 11:21:19 +02:00
.gitignore treewide: remove references to vagrant 2026-09-15 18:55:01 +02:00
.mailmap .mailmap: Add more e-mail addresses of maribu 2025-01-27 10:43:42 +01:00
.murdock .murdock: add changed boards to quickbuild 2026-09-28 15:11:38 +02:00
.murdock.yml ci: build github merge train branches with murdock 2023-11-07 13:05:56 +01:00
CITATION.cff CITATION.cff: Initial import 2021-10-22 10:21:57 +02:00
CODE_OF_CONDUCT.md doc: standardize capitalizations and fix urls 2025-09-23 18:19:14 +02:00
CODEOWNERS CODEOWNERS: adjust AnnsAnns roles, delegate guides / starlight 2026-08-13 12:22:48 +02:00
CODING_CONVENTIONS.md CODING_CONVENTIONS: add info about code blocks, update Python copyright 2026-05-29 16:07:58 +02:00
CODING_CONVENTIONS_C++.md doc: standardize capitalizations and fix urls 2025-09-23 18:19:14 +02:00
CONTRIBUTING.md CONTRIBUTING.md: add section about extractive contributions 2026-09-18 10:26:02 +02:00
doc.txt treewide: remove deprecated RIOT_FILE_* macros 2026-01-14 11:01:47 +01:00
features.yaml Merge pull request #22261 from benpicco/periph/dac_dma 2026-09-21 13:58:09 +00:00
GOVERNANCE.md Merge pull request #22199 from jkarinkl/governance-update-weekly-meeting 2026-07-18 10:53:14 +00:00
Kconfig *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
LICENSE LICENSE: Fix github badge 2022-08-23 09:46:56 +02:00
LOSTANDFOUND.md doc: standardize capitalizations and fix urls 2025-09-23 18:19:14 +02:00
MAINTAINING.md MAINTAINING: minor updates 2026-06-22 11:06:21 +02:00
Makefile doc: standardize capitalizations and fix urls 2025-09-23 18:19:14 +02:00
Makefile.base makefiles: replace shell commands with built-in functions 2026-09-17 10:28:42 +02:00
Makefile.dep makefiles: filter stdio_default with STDIO_MODULES 2026-07-03 16:23:25 +02:00
Makefile.features buildsystem: fix boards/Makefile.features inclusion 2025-03-28 11:48:32 +01:00
Makefile.include build-system: add deps $(DEBUGDEPS) to debug-{client,server} 2026-10-02 11:57:30 +02:00
README.md doc: move static images to doc/resources 2026-07-04 12:29:02 +02:00
release-notes.txt release-notes.txt: 2026.07 2026-08-20 13:13:34 +02:00
SECURITY.md SECURITY.md: Update public PGP key 2026-01-13 11:22:37 +01:00
SUBSYSTEMS.md SUBSYSTEMS.md: add @maribu 2023-06-13 15:03:01 +02:00
uncrustify-riot.cfg uncrustify: replace deprecated nl_func_var_def_blk 2024-05-08 12:37:35 +02:00

Nightly CI status master GitHub release License API docs Getting Started Guide Mastodon Matrix

RIOT Logo

RIOT OS: The friendly Operating System for IoT

RIOT is an open-source microcontroller operating system, designed to match the requirements of Internet of Things (IoT) devices and other embedded devices. It supports a range of devices that are typically found in the Internet of Things (IoT): 8-bit, 16-bit and 32-bit microcontrollers.

RIOT is based on the following design principles: energy-efficiency, real-time capabilities, small memory footprint, modularity, and uniform API access, independent of the underlying hardware (this API offers partial POSIX compliance).

RIOT is developed by an international open source community which is independent of specific vendors (e.g. similarly to the Linux community). RIOT is licensed with LGPLv2.1, a copyleft license which fosters indirect business models around the free open-source software platform provided by RIOT, e.g. it is possible to link closed-source code with the LGPL code.

Getting Started

Features

RIOT provides features including, but not limited to:

  • Platforms Supported
    • 200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, and ARM Cortex-M
    • The native port allows to run RIOT as-is on Linux and BSD. Multiple instances of RIOT running on a single machine can also be interconnected via a simple virtual Ethernet bridge or via a simulated IEEE 802.15.4 network (ZEP).
  • Programming Environment
    • Write native code in C, C++, or Rust
    • Rely upon POSIX APIs, user friendly hardware abstractions and standard embedded Rust interfaces
    • Integrate dynamic runtimes such as MicroPython, elm (JavaScript) and WASM
  • Network Features and Protocols
    • IPv6
    • IPv4 via lwIP
    • 6LoWPAN (RFC4944, RFC6282, RFC6775 and RFC7668)
    • UDP
    • TCP
    • RPL (storing mode, P2P mode)
    • CoAP
    • MQTT via paho-mqtt and MQTT-SN
    • LwM2M
    • Bluetooth (BLE) via NimBLE
    • LoRaWAN
    • UWB
    • CAN
    • CNN-Lite
    • LwIP
    • IEEE 802.15.4
    • Ethernet (also via USB)
    • SLIP (or ethos networking via Serial)
    • Dose (single pair ethernet like networking on serial interface UART)
  • System Features
    • a preemptive, tickless scheduler with priorities, optional periodic round robin within priorities
    • flexible memory management
    • high resolution, long-term timers
    • MTD abstraction layer for memory devices
    • File System integration
  • Security Features
    • OTA updates via SUIT
    • PSA Cryptographic API
    • DTLS, EDHOC
  • Device Drivers
    • SPI, I2C, UART, USB, CAN
    • RTC, PWM, Timer
    • ADC, DAC
    • Various sensors: Environmental sensors, IMUs, magnetometers, particulate matter sensors
    • Various actuators: Servos, motors, dimmers, switches, RGB LEDs
    • Displays and touchscreens
    • GNSS

Community

You can ask for help on the Forum or on Matrix. Please send bug reports and feature requests to our GitHub issue tracker

  • The Forum is the default place to start asking for help. Our Forum provides an archive of prior questions and answers.
  • For chat, we use #riot-os:matrix.org on the Matrix chat network.

Governance

For how our community is structured and governed, please see our governance document.

How to Ask

Please include as much detail as you can that is relevant to your question, not only "this isn't working". These details include:

  1. What you want to achieve.
  2. What have you tried so far (for example the commands you typed).
  3. What happened so far.

Collaboration

RIOT closely collaborates with and inspires other open source projects, e.g., Ariel OS, an IoT OS written in Rust. We are more than happy to collaborate with those who share our vision.

Getting RIOT

The most convenient way to get RIOT is to clone it via Git

git clone https://github.com/RIOT-OS/RIOT

this will ensure that you get all the newest features and bug fixes with the caveat of an ever changing work environment.

If you prefer things more stable, you can download the source code of one of our quarter annual releases via Github as ZIP file or tarball. You can also checkout a release in a cloned Git repository using

git pull --tags
git checkout <YYYY.MM>

For more details on our release cycle, check our documentation.

Contribute

To contribute something to RIOT, please refer to our contributing document.

Mailing Lists

License

  • Most of the code developed by the RIOT community is licensed under the GNU Lesser General Public License (LGPL) version 2.1 as published by the Free Software Foundation.
  • Some external sources, especially files developed by SICS are published under a separate license.

All code files contain licensing information.

For more information, see the RIOT website.