RIOT OS: The future of IoT is unsexy.

5 Sep 2021 \
4 minutes \
written by Philipp Blum
Categories: Column

RIOT OS is the IoT OS for the future. It provides all the necessary tools to build the next industrial revolution.

The IoT revolution is not sexy #

Impressive technology can be very appealing. Be it the futuristic idea of hyperloop, the space travel of SpaceX or Blue Origin. Let’s face it, the real revolutions are not impressive, nor sexy. Real technology revolutions are boring. They don’t have fancy and impressive marketing. Be it the linux kernel or the Web. The real technology revolutions come from the engineers, from the people who work in the space. One of those boring revolutionary projects is RIOT OS. RIOT is not as fancy as Zephyr, but it has much more to offer, once you look behind the marketing facade of both projects.

Embrace open standards #

No other RTOS community embraces open standards as much as the community behind RIOT OS. Be it IEEE 802.11.4, IPv6, POSIX or Web of Things. Even though RIOT OS has a smaller community as other projects, this community is heavily involved in the standardization processes of the IETF or W3C.

Keep your focus! #

In comparison to other real time operating system, such as Zephyr OS, RIOT OS keeps its focus on constrained devices and does not mingle with devices which easily can run a the linux kernel. Why should they, when linux provides the better tools for more powerful devices? Realtime linux also exist. RIOT OS does not want to become a fits-all project. They are focused on constrained devices in order to unleash the true potential of this category of devices.

LGPLv2.1: They key to success #

Other project mainly use MIT or Apache as license in order to reach a larger audience. These licenses enabled to be used by a large audience. That said, they also have a negative side. User can easily fork those projects and do not have to make their improvements public. Some projects realized that and choosed to go with a Dual-license in order to not get absorbed by a big company, such as Amazon. RIOT OS choosed to go with LGPLv2.1. At first glance this is a bad choice, because it limits the potential audience. At second glance thought, it gives the project the flexibility to be used in different scenarios, but reducing the risk of getting absorbed by a big company. The forked RIOT OS code always has to be public, while the private app does not have to be. This is the strenght of the project. Maintaining a very important part of open source, while giving companies the possibility to write closed source applications for the OS.

Not for prototyping #

Let’s face it, RIOT OS is not a tool designed for fast prototyping. You are probably better off with Arduino or platformIO and an ESP32. That is the main reason why they are heavily used by makers. You can easily get started and get something done. At the expense of being bound to the ESP32 and lower maintainability. RIOT OS on the other hand is a tool to build professional IoT applications.

The power of abstraction #

A professional software development environment needs powerful tools which provide a layer of abstraction. RIOT OS provides such abstraction layers. Be it for sensor-, actuator-driver or networking. Applications for RIOT can be written hardware independently. This level of abstraction is very unique for constrained devices. You can easily replace one sensor without another similar one, without the need of huge changes. Just some simple configuration changes and you are done. Ready to use the same application on different hardware. This gives you a powerful tool to develop one application for different hardware, without having to maintain multiple code bases. RIOT OS provides these abstractions layers with the limitations of constrained devices in mind.

The connection of industry and science #

RIOT OS is born from a university project at the TU Berlin. Given that, it has its roots in a scientific environment. Even though it reached out to the industry and has good connections to it nowadays. Which makes it the best possible result of people working cooperative together in both fields. Continental for example is one of those industrial users.

Conclusion #

RIOT OS is a professional and powerful OS in order to build modern IoT applications for constrained devices. If you need to go beyond the Arduino IDE, RIOT is an OS you should try.