sss78 - Fotolia

The Contiki IoT OS is the calm in the storm of IoT OSes

As one of the veterans in the open source IoT OS world, Contiki offers stability along with a communications edge.

The Contiki IoT OS boasts a number of key strengths in areas like networking and ease of use, but perhaps its real claim to fame is its staying power in what is a nascent and fast-changing market segment.

The seeds for Contiki were sowed back in 2000 as part of Swedish graduate student Adam Dunkels' thesis project that was then an early day exploration of the internet of things. Dunkels wanted to outfit the local hockey team with wireless sensors and accelerometers to track players' vital signs and display them back to the crowd. His challenge was to come up with a way to connect the sensors through a computer network, and the result was what he dubbed the "lightweight internet protocol," the precursor to the Contiki IoT OS.

Another couple of years refining the OS -- with help from an avid community of researchers and hobbyists including corporate giants like Texas Instruments and Cisco -- and Contiki officially made its debut in 2003 as an open source IoT operating system. Its defining feature then, as it is today, was the built-in Internet Protocol Suite (TCP/IP) stack shrunk to a lightweight form factor and optimized for memory-constrained systems, Dunkels said.

Adam DunkelsAdam Dunkels

"Early on, people were saying there was a need for something completely new, because you can't use TCP/IP for this kind of work because there were too many resource constraints," explained Dunkels, who is not just Contiki's keeper, but founder of Thingsquare, which makes a cloud back end for Contiki devices. "Contiki allowed you to use existing IP protocols, and that turned out to be the way everything moved. Now, it's a mainstream idea to use IP protocols for everything."

The nuts and bolts of the IoT OS

Along with support for a full IP networking stack with standard IP protocols like TCP and HTTP, Contiki also is compliant with new low-power standards such as 6LoWPAN and RPL. In addition to the IPv6 stack, current versions of Contiki support more advanced functionality like mesh networking, an important capability for self-forming and self-healing large networks where there are lots of nodes.

Contiki allowed you to use existing IP protocols, and that turned out to be the way everything moved. Now, it's a mainstream idea to use IP protocols for everything.
Adam Dunkelsfounder, Contiki

The Contiki IoT OS is designed specifically for small systems, thus the architecture is highly memory-efficient and able to operate in low-power systems, even those that run on batteries. Contiki also runs on a wide range of platforms, including those from Texas Instruments and NXP Semiconductors, among others. To ensure Contiki code works as expected, the platform includes the Cooja simulator for running regression tests.

Dunkels describes Contiki as a building block used for the communications piece of a much larger IoT puzzle. As such, he said the open source IoT OS is used widely in such applications such as thermostats, streetlights, parking sensors and various other smart city and industrial use cases.

Contiki's open source approach gives it another leg up compared to other industrial IoT OSes that are developed for specific hardware, Dunkels explained. Given that the operating system has been around for more than a decade, it's got an active community of contributors, and it's relatively easy to find developers versed in Contiki to work on projects.

"The specific challenges we are facing is these systems are so specific and hard that it's difficult to develop something on your own without input from a lot of people," Dunkels said. "That's where open source shines in this domain."

Putting the Contiki IoT OS in action

Valentin Sawadski, co-founder of tado° GmbH, a maker of smart thermostats and AC controls, said the open source approach is critical to avoiding any kind of end-of-life issues for the still-evolving field of IoT OSes. "If you're using a proprietary OS and it comes down to end of life and you're missing important security features, you're relying on the good will of the manufacturer to provide you with those updates," he said.

Beyond open source, the Contiki IoT OS's full IPv6 stack was critical, as was its support for battery-operated devices, given that many of the radiators connected to the tado° smart thermostat do not require an electric power supply, he explained. In the end, however, Contiki's stability and the valuable input tado° was able to get from the founders and the community were critical to getting its product out the door.

"[Dunkels] and his colleagues helped us get the internet into our product, letting us focus on our core competency -- our heating systems," Sawadski said.

Next Steps

Learn about other IoT OSes on the market from Cisco, Google and Electric Imp.

Dig Deeper on IoT APIs, Applications and Software