Three good reasons to think about a new OS for the IoT.
RIOT is Developer 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 both on 16-bit platforms (e.g. MSP430) and on 32-bit platforms (e.g. ARM)
- Partial POSIX compliance. Towards full POSIX compliance.
- Develop under Linux or Mac OS using the native port, deploy on embedded device
RIOT is Resource Friendly
Benefit from a microkernel architecture and a tickless scheduler on very lightweight devices.
- Robustness & code-footprint flexibility
- Enabling maximum energy-efficiency
- Real-time capability due to ultra-low interrupt latency (~50 clock cycles) and priority-based scheduling
- Multi-threading with ultra-low threading overhead (<25 bytes per thread)
RIOT is IoT Friendly
Make your applications ready for the smaller things in the Internet with common system support.
- 6LoWPAN, IPv6, RPL, TCP, and UDP
- Content-centric networking (CCN-lite)
- Static and dynamic memory allocation
- High resolution and long-term timers
- Wiselib support (C++ algorithm library, including algorithms for routing, clustering, timesync, localization, security, and more)
- Tools and utilities (System shell, SHA-256, Bloom filters, ...)
Comparison of Current Operating Systems
|OS||Min RAM||Min ROM||C Support||C++ Support||Multi-Threading||MCU w/o MMU||Modularity||Real-Time|
|Contiki||< 2kB||< 30kB|
|Tiny OS||< 1kB||< 4KB|
|Linux||~ 1MB||~ 1MB|
|RIOT||~ 1.5kB||~ 5kB|