RIOT (operating system)
RIOT – The friendly OS for the IoT
|OS family||Embedded operating systems|
|Source model||Open source|
|Latest release||2018.04 / 11 May 2018|
|Platforms||TI MSP430, ARM7, ARM Cortex-M0-M0+-M3-M4, Atmel AVR, MIPS32r2, RISC-V|
RIOT is a small operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things (IoT) devices. It is open-source software, released under the GNU Lesser General Public License (LGPL).
It was initially developed by Freie Universität Berlin (FU Berlin), Institut national de recherche en informatique et en automatique (INRIA) and the Hochschule für Angewandte Wissenschaften Hamburg (HAW Hamburg). RIOT's kernel is mostly inherited from FireKernel, which was originally developed for sensor networks.
RIOT is based on a microkernel architecture. In contrast to other operating systems with similarly low memory use (such as TinyOS or Contiki), RIOT allows application programming with the programming languages C and C++. An experimental Rust API is also available. It has full multithreading and real-time abilities. SSL/TLS is supported by popular libraries such as wolfSSL.
RIOT runs on 8-bit (such as AVR Atmega), 16-bit (such as TI MSP430) and 32-bit (such as ARM Cortex) processors. A native port also enables RIOT to run as a Linux or macOS process, enabling use of standard development and debugging tools such as GNU Compiler Collection (GCC), GNU Debugger, Valgrind, Wireshark etc. RIOT is partly Portable Operating System Interface (POSIX) compliant.
RIOT provides multiple network stacks, including IPv6, 6LoWPAN, or Content centric networking and standard protocols such as RPL, User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and CoAP.
RIOT source code is available on GitHub, and developed by an international community of open source developers.
- "Release 2018.04". 11 May 2018. Retrieved 3 June 2018.
- "A Real-Time Kernel for Wireless Sensor Networks Employed in Rescue Scenarios, in Proceedings of the IEEE 34th Conference on Local Computer Networks (LCN), October 2009". IEEE. 2013-10-20. doi:10.1109/LCN.2009.5355049. S2CID 14806932. Cite journal requires
- "RIOT OS: Towards an OS for the Internet of Things, in Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM), April 2013" (PDF). IEEE. 2013-04-15. Retrieved 2014-05-18.
- "Rust support for RIOT · Issue #9799 · RIOT-OS/RIOT". GitHub. Retrieved 2020-06-12.
- "Betriebssysteme für eingebettete Systeme im Internet der Dinge: Freie Fahrt für Experimentierfreudige, published in iX Developer Magazine, Special Issue on Embedded Software". Heise.de. 2014-02-14. Retrieved 2014-05-18.
- "wolfSSL Alpha examples by kaleb-himes · Pull Request #6197 · RIOT-OS/RIOT". GitHub. Retrieved 2019-02-13.
- "Avec RIOT, l'Internet des objets tient son OS temps reel open source". lembarque.com. 2014-04-09. Retrieved 2014-05-18.
- "Simply RIOT: Teaching and Experimental Research in the Internet of Things, in Proceedings of the 13th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), April 2014". ACM. 2014-04-15. Retrieved 2014-05-18.
- ""RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", IETF Request For Comments 6550, March 2012". IETF. 2012-03-01. Retrieved 2014-05-18.