riot

RIOT - The friendly OS for IoT

https://github.com/riot-os/riot

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    65 of 490 committers (13.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary

Keywords

c hacktoberfest internet internet-of-things internetofthings iot microcontrollers os riot-os riotos rtos

Keywords from Contributors

fuzzing afl-fuzz fuzz-testing transformers agents nonlinear-programming deep-neural-networks distributed test-generation cryptocurrencies
Last synced: 6 months ago · JSON representation

Repository

RIOT - The friendly OS for IoT

Basic Info
  • Host: GitHub
  • Owner: RIOT-OS
  • License: lgpl-2.1
  • Language: C
  • Default Branch: master
  • Homepage: https://riot-os.org
  • Size: 175 MB
Statistics
  • Stars: 5,584
  • Watchers: 252
  • Forks: 2,056
  • Open Issues: 822
  • Releases: 49
Topics
c hacktoberfest internet internet-of-things internetofthings iot microcontrollers os riot-os riotos rtos
Created about 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners Security Governance

README.md

Nightly CI status master GitHub release License API docs Wiki Stack Overflow questions Mastodon Matrix

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.

Features

RIOT provides features including, but not limited to:

  • a preemptive, tickless scheduler with priorities
  • flexible memory management
  • high resolution, long-term timers
  • MTD abstraction layer
  • File System integration
  • support 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)
  • IPv6
  • 6LoWPAN (RFC4944, RFC6282, and RFC6775)
  • UDP
  • RPL (storing mode, P2P mode)
  • CoAP
  • OTA updates via SUIT
  • MQTT
  • USB (device mode)
  • Display / Touchscreen support
  • CCN-Lite
  • LoRaWAN
  • UWB
  • Bluetooth (BLE) via NimBLE

Getting Started

Community

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

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

console $ 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

console $ 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:

https://www.riot-os.org

Owner

  • Name: RIOT
  • Login: RIOT-OS
  • Kind: organization
  • Email: devel@riot-os.org

The friendly Operating System for the Internet of Things

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 33,118
  • Total Committers: 490
  • Avg Commits per committer: 67.588
  • Development Distribution Score (DDS): 0.907
Past Year
  • Commits: 1,173
  • Committers: 66
  • Avg Commits per committer: 17.773
  • Development Distribution Score (DDS): 0.803
Top Committers
Name Email Commits
Alexandre Abadie a****e@i****r 3,071
Martine Lenders m****s@f****e 2,888
Benjamin Valentin b****n@m****m 2,642
Hauke Petersen d****l@h****e 2,264
Kaspar Schleiser k****r@s****e 1,841
Gunar Schorcht g****r@s****t 1,785
Marian Buschsieweke m****e@p****t 1,757
Oleg Hahm o****g@h****g 1,486
Joakim Nohlgård j****d@e****e 1,121
Leandro Lanzieri l****i@h****e 1,055
Francisco Molina f****a@u****l 922
Koen Zandberg k****n@b****t 766
Ludwig Knüpfer l****r@f****e 684
Gaëtan Harter g****r@f****e 666
Cenk Gündoğan m****b@c****e 544
Jose Alamos j****s@h****e 541
Sebastian Meiling s@m****t 520
MrKevinWeiss w****4@g****m 474
chrysn c****n@f****g 429
Akshai M a****n@g****m 310
René Kijewski r****i@f****e 295
Bas Stottelaar b****r@g****m 293
Dylan Laduranty d****y@m****m 281
Vincent Dupont v****t@o****m 266
krzysztof-cabaj k****j@g****m 249
Christian Mehlis m****s@i****e 231
Karl Fessel k****l@o****e 216
Thomas Eichinger t****1@g****m 200
Ken Bannister k****a@r****m 179
Fabian Hüßler f****r@s****e 178
and 460 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 290
  • Total pull requests: 2,903
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 3 months
  • Total issue authors: 111
  • Total pull request authors: 144
  • Average comments per issue: 3.32
  • Average comments per pull request: 4.28
  • Merged pull requests: 2,083
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 75
  • Pull requests: 1,095
  • Average time to close issues: 25 days
  • Average time to close pull requests: 10 days
  • Issue authors: 31
  • Pull request authors: 61
  • Average comments per issue: 1.37
  • Average comments per pull request: 3.2
  • Merged pull requests: 768
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • benpicco (24)
  • chrysn (24)
  • maribu (22)
  • crasbe (20)
  • donsez (16)
  • mguetschow (12)
  • miri64 (10)
  • carl-tud (8)
  • kfessel (6)
  • DeJusten (5)
  • kaspar030 (5)
  • fjmolinas (4)
  • Enoch247 (4)
  • krzysztof-cabaj (4)
  • derMihai (4)
Pull Request Authors
  • maribu (572)
  • benpicco (466)
  • mguetschow (181)
  • fabian18 (144)
  • krzysztof-cabaj (136)
  • gschorcht (131)
  • crasbe (114)
  • chrysn (107)
  • miri64 (76)
  • MrKevinWeiss (74)
  • Teufelchen1 (74)
  • Enoch247 (63)
  • dylad (60)
  • kaspar030 (51)
  • derMihai (49)
Top Labels
Issue Labels
Type: bug (83) Type: new feature (34) Type: tracking (21) Type: enhancement (17) Area: doc (16) CI: ready for build (16) Area: network (16) Area: cpu (15) Platform: ARM (13) Community: help wanted (12) Area: build system (11) Platform: native (9) Discussion: RFC (9) Area: boards (8) State: don't stale (8) Area: drivers (8) Community: good first issue (5) Area: CoAP (5) Area: Kconfig (5) Area: USB (5) Area: tools (4) Type: cleanup (4) Platform: ESP (4) TF: Config (4) Area: security (4) Area: toolchain (3) Area: sys (3) Area: timers (3) Type: question (3) Impact: minor (2)
Pull Request Labels
CI: ready for build (2,534) Area: sys (828) Area: tests (726) Area: doc (704) Type: bug (623) Area: cpu (547) Area: network (458) Impact: minor (453) Area: boards (446) Area: build system (406) Area: drivers (381) Platform: ARM (353) Type: enhancement (337) Area: examples (329) Area: pkg (304) CI: skip compile test (297) Area: Kconfig (231) Area: tools (228) Type: new feature (224) Type: cleanup (219) Area: CoAP (146) Area: core (136) Platform: ESP (127) Platform: native (123) Process: release backport (85) Process: API change (73) Process: needs backport (64) Area: CI (61) Area: timers (55) Process: needs >1 ACK (53)

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 3,805 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
crates.io: riot

RIOT OS bindings for Rust

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,805 Total
Rankings
Forks count: 0.7%
Stargazers count: 2.0%
Average: 19.6%
Dependent repos count: 29.3%
Downloads: 31.9%
Dependent packages count: 33.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/check-commits.yml actions
  • actions/checkout main composite
.github/workflows/check-labels.yml actions
  • RIOT-OS/check-labels-action v1.0.0 composite
.github/workflows/labeler.yml actions
  • actions/labeler main composite
.github/workflows/release-test.yml actions
  • actions/checkout main composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • fadenb/matrix-chat-message v0.0.6 composite
  • webfactory/ssh-agent v0.4.1 composite
.github/workflows/static-test.yml actions
  • actions/checkout main composite
.github/workflows/test-on-iotlab.yml actions
  • actions/checkout main composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • webfactory/ssh-agent v0.4.1 composite
.github/workflows/test-on-ryot.yml actions
  • actions/checkout main composite
  • actions/upload-artifact v2 composite
.github/workflows/tools-buildtest.yml actions
  • aabadie/riot-action main composite
  • actions/checkout main composite
.github/workflows/tools-test.yml actions
  • actions/checkout main composite
  • actions/setup-python v1 composite
examples/rust-gcoap/Cargo.lock cargo
  • 101 dependencies
examples/rust-hello-world/Cargo.lock cargo
  • aho-corasick 0.7.19
  • atomic-polyfill 0.1.10
  • atty 0.2.14
  • autocfg 1.1.0
  • bare-metal 0.2.5
  • bare-metal 1.0.0
  • bindgen 0.60.1
  • bit_field 0.10.1
  • bitfield 0.13.2
  • bitflags 1.3.2
  • byteorder 1.4.3
  • c2rust-asm-casts 0.2.0
  • c2rust-bitfields 0.3.0
  • c2rust-bitfields-derive 0.2.1
  • cexpr 0.6.0
  • cfg-if 1.0.0
  • clang-sys 1.4.0
  • clap 3.2.22
  • clap_lex 0.2.4
  • cortex-m 0.7.6
  • critical-section 0.2.7
  • cstr 0.2.11
  • cty 0.2.2
  • either 1.8.0
  • embedded-graphics 0.6.2
  • embedded-hal 0.2.7
  • env_logger 0.9.1
  • glob 0.3.0
  • hash32 0.2.1
  • hashbrown 0.12.3
  • heapless 0.7.16
  • hermit-abi 0.1.19
  • hex 0.4.3
  • humantime 2.1.0
  • indexmap 1.9.1
  • itoa 1.0.3
  • lazy_static 1.4.0
  • lazycell 1.3.0
  • libc 0.2.134
  • libloading 0.7.3
  • lock_api 0.4.9
  • log 0.4.17
  • memchr 2.5.0
  • minimal-lexical 0.2.1
  • mutex-trait 0.2.0
  • nb 0.1.3
  • nb 1.0.0
  • nom 7.1.1
  • num-traits 0.2.15
  • once_cell 1.15.0
  • os_str_bytes 6.3.0
  • peeking_take_while 0.1.2
  • pin-utils 0.1.0
  • proc-macro2 1.0.46
  • quote 1.0.21
  • regex 1.6.0
  • regex-syntax 0.6.27
  • riot-sys 0.7.9
  • riot-wrappers 0.8.0
  • riscv 0.7.0
  • riscv-target 0.1.2
  • rustc-hash 1.1.0
  • rustc_version 0.2.3
  • rustc_version 0.4.0
  • ryu 1.0.11
  • scopeguard 1.1.0
  • semver 0.9.0
  • semver 1.0.14
  • semver-parser 0.7.0
  • serde 1.0.145
  • serde_derive 1.0.145
  • serde_json 1.0.85
  • shlex 0.1.1
  • shlex 1.1.0
  • spin 0.9.4
  • stable_deref_trait 1.2.0
  • strsim 0.10.0
  • syn 1.0.101
  • termcolor 1.1.3
  • textwrap 0.15.1
  • unicode-ident 1.0.4
  • vcell 0.1.3
  • void 1.0.2
  • volatile-register 0.2.1
  • which 4.3.0
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.5
  • winapi-x86_64-pc-windows-gnu 0.4.0
sys/rust_riotmodules_standalone/Cargo.lock cargo
  • aho-corasick 0.7.19
  • atomic-polyfill 0.1.10
  • atty 0.2.14
  • autocfg 1.1.0
  • bare-metal 0.2.5
  • bare-metal 1.0.0
  • bindgen 0.60.1
  • bit_field 0.10.1
  • bitfield 0.13.2
  • bitflags 1.3.2
  • byteorder 1.4.3
  • c2rust-asm-casts 0.2.0
  • c2rust-bitfields 0.3.0
  • c2rust-bitfields-derive 0.2.1
  • cexpr 0.6.0
  • cfg-if 1.0.0
  • clang-sys 1.4.0
  • clap 3.2.22
  • clap_lex 0.2.4
  • cortex-m 0.7.6
  • critical-section 0.2.7
  • cstr 0.2.11
  • cty 0.2.2
  • either 1.8.0
  • embedded-graphics 0.6.2
  • embedded-hal 0.2.7
  • env_logger 0.9.1
  • glob 0.3.0
  • hash32 0.2.1
  • hashbrown 0.12.3
  • heapless 0.7.16
  • hermit-abi 0.1.19
  • hex 0.4.3
  • humantime 2.1.0
  • indexmap 1.9.1
  • itoa 1.0.3
  • lazy_static 1.4.0
  • lazycell 1.3.0
  • libc 0.2.134
  • libloading 0.7.3
  • lock_api 0.4.9
  • log 0.4.17
  • memchr 2.5.0
  • minimal-lexical 0.2.1
  • mutex-trait 0.2.0
  • nb 0.1.3
  • nb 1.0.0
  • nom 7.1.1
  • num-traits 0.2.15
  • once_cell 1.15.0
  • os_str_bytes 6.3.0
  • peeking_take_while 0.1.2
  • pin-utils 0.1.0
  • proc-macro2 1.0.46
  • quote 1.0.21
  • regex 1.6.0
  • regex-syntax 0.6.27
  • riot-sys 0.7.9
  • riot-wrappers 0.8.0
  • riscv 0.7.0
  • riscv-target 0.1.2
  • rustc-hash 1.1.0
  • rustc_version 0.2.3
  • rustc_version 0.4.0
  • ryu 1.0.11
  • scopeguard 1.1.0
  • semver 0.9.0
  • semver 1.0.14
  • semver-parser 0.7.0
  • serde 1.0.145
  • serde_derive 1.0.145
  • serde_json 1.0.85
  • shlex 0.1.1
  • shlex 1.1.0
  • spin 0.9.4
  • stable_deref_trait 1.2.0
  • strsim 0.10.0
  • syn 1.0.101
  • termcolor 1.1.3
  • textwrap 0.15.1
  • unicode-ident 1.0.4
  • vcell 0.1.3
  • void 1.0.2
  • volatile-register 0.2.1
  • which 4.3.0
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.5
  • winapi-x86_64-pc-windows-gnu 0.4.0
tests/rust_minimal/Cargo.lock cargo
  • aho-corasick 0.7.19
  • atomic-polyfill 0.1.10
  • atty 0.2.14
  • autocfg 1.1.0
  • bare-metal 0.2.5
  • bare-metal 1.0.0
  • bindgen 0.60.1
  • bit_field 0.10.1
  • bitfield 0.13.2
  • bitflags 1.3.2
  • byteorder 1.4.3
  • c2rust-asm-casts 0.2.0
  • c2rust-bitfields 0.3.0
  • c2rust-bitfields-derive 0.2.1
  • cexpr 0.6.0
  • cfg-if 1.0.0
  • clang-sys 1.4.0
  • clap 3.2.22
  • clap_lex 0.2.4
  • cortex-m 0.7.6
  • critical-section 0.2.7
  • cstr 0.2.11
  • cty 0.2.2
  • either 1.8.0
  • embedded-graphics 0.6.2
  • embedded-hal 0.2.7
  • env_logger 0.9.1
  • glob 0.3.0
  • hash32 0.2.1
  • hashbrown 0.12.3
  • heapless 0.7.16
  • hermit-abi 0.1.19
  • hex 0.4.3
  • humantime 2.1.0
  • indexmap 1.9.1
  • itoa 1.0.3
  • lazy_static 1.4.0
  • lazycell 1.3.0
  • libc 0.2.134
  • libloading 0.7.3
  • lock_api 0.4.9
  • log 0.4.17
  • memchr 2.5.0
  • minimal-lexical 0.2.1
  • mutex-trait 0.2.0
  • nb 0.1.3
  • nb 1.0.0
  • nom 7.1.1
  • num-traits 0.2.15
  • once_cell 1.15.0
  • os_str_bytes 6.3.0
  • peeking_take_while 0.1.2
  • pin-utils 0.1.0
  • proc-macro2 1.0.46
  • quote 1.0.21
  • regex 1.6.0
  • regex-syntax 0.6.27
  • riot-sys 0.7.9
  • riot-wrappers 0.8.0
  • riscv 0.7.0
  • riscv-target 0.1.2
  • rustc-hash 1.1.0
  • rustc_version 0.2.3
  • rustc_version 0.4.0
  • ryu 1.0.11
  • scopeguard 1.1.0
  • semver 0.9.0
  • semver 1.0.14
  • semver-parser 0.7.0
  • serde 1.0.145
  • serde_derive 1.0.145
  • serde_json 1.0.85
  • shlex 0.1.1
  • shlex 1.1.0
  • spin 0.9.4
  • stable_deref_trait 1.2.0
  • strsim 0.10.0
  • syn 1.0.101
  • termcolor 1.1.3
  • textwrap 0.15.1
  • unicode-ident 1.0.4
  • vcell 0.1.3
  • void 1.0.2
  • volatile-register 0.2.1
  • which 4.3.0
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.5
  • winapi-x86_64-pc-windows-gnu 0.4.0
cpu/stm32/dist/kconfig/requirements.txt pypi
  • jinja2 *
  • openpyxl *