In a Nutshell
RIOT supports most low-power
IoT devices and microcontroller architectures ( – bit, – bit, 8-bit. RIOT aims to implement all relevant open standards supporting an Internet of Things that is connected, secure, durable & privacy-friendly.
Program like you are used to. Do not waste time with complex or new environments.
Standard programming in C or C
- Standard tools such as gcc, gdb, valgrind Minimized hardware dependent code
- Zero learning curve for embedded programming
Code once, run on 8-bit platforms (eg Arduino Mega
), – bit platforms (eg MSP , and on – bit platforms (eg ARM)
Partial POSIX compliance. Towards full POSIX compliance.
- Develop under Linux or Mac OS using the (native port , deploy on embedded device
Benefit from a microkernel architecture and a tickless scheduler on very lightweight devices.
Robustness & code-footprint flexibility
Get Started
First Steps
You find all the information you need to get started on the GitHub wiki For a high-level overview, check this introduction to RIOT. For a first hands-on experience, you can try a tutorial . You might also find answers to your questions in the FAQ .
Documentation
Detailed documentation is available online. The documentation can also be built offline from the code, using doxygen.
Native Linux and Mac OS Port
For those of you who are more familiar with non-embedded programming, you should start with the (native port ) of RIOT. This allows to run RIOT inside a process on Linux or Mac OS. It eases the development and debugging of both, RIOT and projects written for RIOT Such a native process can be analyzed using readily available tools such as gdb or valgrind. You can create virtual testbeds of multiple instances of RIOT running simultaneously and networked together, via a configurable topology. All you need is your PC and Linux or Mac OS!
Development Environment in a Box
RIOT supports Docker and Vagrant. Setup your RIOT development environment very easily. We provide a Docker repository , as well as a Vagrant image .
Usage
Hardware Support
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
Architectures
AVR
- ARM7
-
- Cortex-M0 -M0 -M3 -M4 -M7
- Cortex-M
- MIPS
MSP
PIC
- RISC-V
-
- x
-
Boards
Airfy Beacon
- Arduino Due
- Arduino Mega
- Arduino Zero
- Microchip SAML / SAML
- Microchip SAMR – Xplained Pro
- mbed NXP LPC 2019
- Micro :: bit
- Nordic nrf (DevKit)
- Nordic nrf (DevKit)
- Nucleo boards (almost all of them)
Boards (continued)
Drivers
Radio transceivers: CC , CC AT (RF) (…)
- Environmental sensors: Sensirion SHT Humidity and Temperature Sensor , LPS 728 AP pressure sensor, SparkFun MQ-3 Alcohol Gas Sensor, Bosch BM 823 …
- Battery gas gauges: Linear Technology LTC Coulomb Counter
- Acceleration sensors: Bosch SMB (Triaxial Sensor, Pololu LSM) (DLHC 3D Compass and Accelerometer …)
- Gyroscopes: ST L3G D three-axis digital output gyroscope …
- Ultra sonic range finders: Robot Electronics SRF 21 / SRF (…) Light: RGB LED, ISL
light sensor …
- Servo motors …
-
… and many more: full list here
Virtualization Virtual hardware platform (ie board and cpu) to run RIOT inside a UNIX process
Nativenet transceiver to create virtual testbeds
(License)
Core Code
RIOT is free software: you can redistribute it and / or modify. Software developed by the RIOT community is available under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 ( (LGPLv2.1 ).
In short, LGPLv2 allows you to redistribute, use and / or modify the free open source code developed and maintained by the RIOT community, without requiring you to necessarily open your code. Other software released under LGPLv2 include for example VLC, GNU C Library, or Git, as well as software for industrial products, such as Panasonic LCD HDTV software. Do you need more arguments? Please read our FAQ
Through this license, RIOT use is suitable for virtually all scenarios. But if you think your use case is not covered, contact us and we will work something out.
External Code
Some external libraries (for example packages are published under a separate license.
But don’t worry, all code files contain licensing information That provide the necessary details.
You can find our coding conventions and a template for the LICENSE preamble in the wiki .
Reference
You are using RIOT in a scientific context? Please consider one of the following references for citation.
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.
Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the
nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April .
About
History
Project roots. The seed for RIOT was FeuerWare, an operating system for Wireless Sensor Networks. It was part of the FeuerWhere project where firefighters should be monitored. Major design goals were reliability and real-time guarantees.
Towards Internet compliance. To increase modularity and include new IETF protocols, µkleos was forked from the orignal FeuerWare repository. Support for 6LoWPAN, RPL, and TCP was integrated over the following years.
RIOT goes public. RIOT is the direct successor of µkleos. We decided on re-branding to avoid problems with spelling and pronouncing the name of the operating system. We explicitly promote RIOT to a larger community.
Future
We have a vision . Be part of the community and follow ongoing enhancements in our issue tracker Start working on new features or let the RIOT community know what you miss!
Scientific Papers
Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.
Acknowledgment and Contact
Personal Thanks
To the original authors of FeuerWare, the members of the research projects AVS Extrem, G-Mesh-Lab, OPNEX, SAFEST and VIVE, and anybody else who has contributed to FeuerWare, µkleos, and RIOT. Furthermore, a special thank goes to Peter Schmerzl!
Contact
Many people are working on RIOT. Public development questions should be directed to the RIOT-devel mailing list. If you require one-to-one communication for other development questions, you can contact the RIOT maintainers , and for questions related to formal project establishment or collaboration, you can contact Emmanuel Baccelli Thomas Schmidt , and Matthias Wählisch
Program like you are used to. Do not waste time with complex or new environments.
Standard programming in C or C
- Standard tools such as gcc, gdb, valgrind Minimized hardware dependent code
- Zero learning curve for embedded programming
Code once, run on 8-bit platforms (eg Arduino Mega
), – bit platforms (eg MSP , and on – bit platforms (eg ARM)
Partial POSIX compliance. Towards full POSIX compliance.
- Develop under Linux or Mac OS using the (native port , deploy on embedded device
Benefit from a microkernel architecture and a tickless scheduler on very lightweight devices.
Robustness & code-footprint flexibility
Get Started
First Steps
You find all the information you need to get started on the GitHub wiki For a high-level overview, check this introduction to RIOT. For a first hands-on experience, you can try a tutorial . You might also find answers to your questions in the FAQ .
Documentation
Detailed documentation is available online. The documentation can also be built offline from the code, using doxygen.
Native Linux and Mac OS Port
For those of you who are more familiar with non-embedded programming, you should start with the (native port ) of RIOT. This allows to run RIOT inside a process on Linux or Mac OS. It eases the development and debugging of both, RIOT and projects written for RIOT Such a native process can be analyzed using readily available tools such as gdb or valgrind. You can create virtual testbeds of multiple instances of RIOT running simultaneously and networked together, via a configurable topology. All you need is your PC and Linux or Mac OS!
Development Environment in a Box
RIOT supports Docker and Vagrant. Setup your RIOT development environment very easily. We provide a Docker repository , as well as a Vagrant image .
Usage
Hardware Support
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
Architectures
AVR
- ARM7
-
- Cortex-M0 -M0 -M3 -M4 -M7
- Cortex-M
- MIPS
MSP
PIC
- RISC-V
-
- x
-
Boards
Airfy Beacon
- Arduino Due
- Arduino Mega
- Arduino Zero
- Microchip SAML / SAML
- Microchip SAMR – Xplained Pro
- mbed NXP LPC 2019
- Micro :: bit
- Nordic nrf (DevKit)
- Nordic nrf (DevKit)
- Nucleo boards (almost all of them)
Boards (continued)
Drivers
Radio transceivers: CC , CC AT (RF) (…)
- Environmental sensors: Sensirion SHT Humidity and Temperature Sensor , LPS 728 AP pressure sensor, SparkFun MQ-3 Alcohol Gas Sensor, Bosch BM 823 …
- Battery gas gauges: Linear Technology LTC Coulomb Counter
- Acceleration sensors: Bosch SMB (Triaxial Sensor, Pololu LSM) (DLHC 3D Compass and Accelerometer …)
- Gyroscopes: ST L3G D three-axis digital output gyroscope …
- Ultra sonic range finders: Robot Electronics SRF 21 / SRF (…) Light: RGB LED, ISL
light sensor …
- Servo motors …
-
… and many more: full list here
Virtualization Virtual hardware platform (ie board and cpu) to run RIOT inside a UNIX process
Nativenet transceiver to create virtual testbeds
(License)
Core Code
RIOT is free software: you can redistribute it and / or modify. Software developed by the RIOT community is available under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 ( (LGPLv2.1 ).
In short, LGPLv2 allows you to redistribute, use and / or modify the free open source code developed and maintained by the RIOT community, without requiring you to necessarily open your code. Other software released under LGPLv2 include for example VLC, GNU C Library, or Git, as well as software for industrial products, such as Panasonic LCD HDTV software. Do you need more arguments? Please read our FAQ
Through this license, RIOT use is suitable for virtually all scenarios. But if you think your use case is not covered, contact us and we will work something out.
External Code
Some external libraries (for example packages are published under a separate license.
But don’t worry, all code files contain licensing information That provide the necessary details.
You can find our coding conventions and a template for the LICENSE preamble in the wiki .
Reference
You are using RIOT in a scientific context? Please consider one of the following references for citation.
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.
Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the
nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April .
About
History
Project roots. The seed for RIOT was FeuerWare, an operating system for Wireless Sensor Networks. It was part of the FeuerWhere project where firefighters should be monitored. Major design goals were reliability and real-time guarantees.
Towards Internet compliance. To increase modularity and include new IETF protocols, µkleos was forked from the orignal FeuerWare repository. Support for 6LoWPAN, RPL, and TCP was integrated over the following years.
RIOT goes public. RIOT is the direct successor of µkleos. We decided on re-branding to avoid problems with spelling and pronouncing the name of the operating system. We explicitly promote RIOT to a larger community.
Future
We have a vision . Be part of the community and follow ongoing enhancements in our issue tracker Start working on new features or let the RIOT community know what you miss!
Scientific Papers
Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.
Acknowledgment and Contact
Personal Thanks
To the original authors of FeuerWare, the members of the research projects AVS Extrem, G-Mesh-Lab, OPNEX, SAFEST and VIVE, and anybody else who has contributed to FeuerWare, µkleos, and RIOT. Furthermore, a special thank goes to Peter Schmerzl!
Contact
Many people are working on RIOT. Public development questions should be directed to the RIOT-devel mailing list. If you require one-to-one communication for other development questions, you can contact the RIOT maintainers , and for questions related to formal project establishment or collaboration, you can contact Emmanuel Baccelli Thomas Schmidt , and Matthias Wählisch
Program like you are used to. Do not waste time with complex or new environments.
Standard programming in C or C
- Standard tools such as gcc, gdb, valgrind Minimized hardware dependent code
- Zero learning curve for embedded programming
- Develop under Linux or Mac OS using the (native port , deploy on embedded device
- ARM7
- Cortex-M0 -M0 -M3 -M4 -M7
- Cortex-M
- MIPS
- RISC-V
- x
- Arduino Due
- Arduino Mega
- Arduino Zero
- Microchip SAML / SAML
- Microchip SAMR – Xplained Pro
- mbed NXP LPC 2019
- Micro :: bit
- Nordic nrf (DevKit)
- Nordic nrf (DevKit)
- Nucleo boards (almost all of them)
Boards (continued)Drivers- Radio transceivers: CC , CC AT (RF) (…)
- Environmental sensors: Sensirion SHT Humidity and Temperature Sensor , LPS 728 AP pressure sensor, SparkFun MQ-3 Alcohol Gas Sensor, Bosch BM 823 …
- Battery gas gauges: Linear Technology LTC Coulomb Counter
- Acceleration sensors: Bosch SMB (Triaxial Sensor, Pololu LSM) (DLHC 3D Compass and Accelerometer …)
- Gyroscopes: ST L3G D three-axis digital output gyroscope …
- Ultra sonic range finders: Robot Electronics SRF 21 / SRF (…) Light: RGB LED, ISL
light sensor …- Servo motors …
-
- … and many more: full list here
Virtualization Virtual hardware platform (ie board and cpu) to run RIOT inside a UNIX process- Nativenet transceiver to create virtual testbeds
(License)Core CodeRIOT is free software: you can redistribute it and / or modify. Software developed by the RIOT community is available under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 ( (LGPLv2.1 ).
In short, LGPLv2 allows you to redistribute, use and / or modify the free open source code developed and maintained by the RIOT community, without requiring you to necessarily open your code. Other software released under LGPLv2 include for example VLC, GNU C Library, or Git, as well as software for industrial products, such as Panasonic LCD HDTV software. Do you need more arguments? Please read our FAQ
Through this license, RIOT use is suitable for virtually all scenarios. But if you think your use case is not covered, contact us and we will work something out.
External CodeSome external libraries (for example packages are published under a separate license.
But don’t worry, all code files contain licensing information That provide the necessary details.
You can find our coding conventions and a template for the LICENSE preamble in the wiki .
Reference
You are using RIOT in a scientific context? Please consider one of the following references for citation.
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.
- Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the
nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April .
About
History
Project roots. The seed for RIOT was FeuerWare, an operating system for Wireless Sensor Networks. It was part of the FeuerWhere project where firefighters should be monitored. Major design goals were reliability and real-time guarantees.Towards Internet compliance. To increase modularity and include new IETF protocols, µkleos was forked from the orignal FeuerWare repository. Support for 6LoWPAN, RPL, and TCP was integrated over the following years.RIOT goes public. RIOT is the direct successor of µkleos. We decided on re-branding to avoid problems with spelling and pronouncing the name of the operating system. We explicitly promote RIOT to a larger community.
FutureWe have a vision . Be part of the community and follow ongoing enhancements in our issue tracker Start working on new features or let the RIOT community know what you miss!
Scientific Papers
- Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, ” RIOT OS: Towards an OS for the Internet of Things , “in Proceedings of the nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April
Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias Wählisch, RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT , IEEE Internet of Things Journal, Vol. 5, No. 6, pp. – , December 2538.Acknowledgment and Contact
Personal ThanksTo the original authors of FeuerWare, the members of the research projects AVS Extrem, G-Mesh-Lab, OPNEX, SAFEST and VIVE, and anybody else who has contributed to FeuerWare, µkleos, and RIOT. Furthermore, a special thank goes to Peter Schmerzl!
ContactMany people are working on RIOT. Public development questions should be directed to the RIOT-devel mailing list. If you require one-to-one communication for other development questions, you can contact the RIOT maintainers , and for questions related to formal project establishment or collaboration, you can contact Emmanuel Baccelli Thomas Schmidt , and Matthias Wählisch
- Ultra sonic range finders: Robot Electronics SRF 21 / SRF (…) Light: RGB LED, ISL
- Battery gas gauges: Linear Technology LTC Coulomb Counter
- Nordic nrf (DevKit)
- Arduino Zero
- Arduino Mega
Code once, run on 8-bit platforms (eg Arduino Mega
- Partial POSIX compliance. Towards full POSIX compliance.
Benefit from a microkernel architecture and a tickless scheduler on very lightweight devices.
- Robustness & code-footprint flexibility
Get Started
First Steps
You find all the information you need to get started on the GitHub wiki For a high-level overview, check this introduction to RIOT. For a first hands-on experience, you can try a tutorial . You might also find answers to your questions in the FAQ .
Documentation
Detailed documentation is available online. The documentation can also be built offline from the code, using doxygen.
Native Linux and Mac OS Port
For those of you who are more familiar with non-embedded programming, you should start with the (native port ) of RIOT. This allows to run RIOT inside a process on Linux or Mac OS. It eases the development and debugging of both, RIOT and projects written for RIOT Such a native process can be analyzed using readily available tools such as gdb or valgrind. You can create virtual testbeds of multiple instances of RIOT running simultaneously and networked together, via a configurable topology. All you need is your PC and Linux or Mac OS!
Development Environment in a Box
RIOT supports Docker and Vagrant. Setup your RIOT development environment very easily. We provide a Docker repository , as well as a Vagrant image .
Usage
Hardware Support
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
Hardware Support
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
RIOT runs on several platforms including embedded devices as well as common PCs. It supports multiple drivers, which allows you to start out of the box. The hardware dependent code is reduced to a minimum and abstracted from the kernel itself.
- AVR
MSP
- PIC
- Airfy Beacon
GIPHY App Key not set. Please check settings