7 open source IoT operating systems that are democratizing the IoT space
The power of Open Source is the power of the people. The people rule
– Philippe Kahn (the creator of world’s first camera phone)
The open source movement which started in 1998 as a niche went on to become a mainstream movement after the success of projects like Linux, Ubuntu, MySQL, Apache, etc. Later on, big companies like IBM, Microsoft, and Apple started using the open-source software development model.
Today, companies in IoT space like Samsung, Google, Huawei, and ARM are embracing the open source model by opening up their projects (both hardware and software) to the developer community and inviting them to contribute in building a world that is technologically reliable and robust.
Here are 7 operating systems for IoT devices that are open source and used to power a wide range of smart devices from wearables to driverless cars.
Note: All the operating systems that I’m writing about have two properties in common:
- Low memory footprint
- High power efficiency
Google offers this as an Android-based operating system for embedded devices. It can run on constrained/low-end devices with at least 128MB of ROM and 32MB of RAM.
Brillo supports intercommunication technologies such as
Brillo uses secure boot and signed over-the-air updates which make it more secure. Brillo supports various architectures such as
It was created in 2002 by Adam Dunkels and, currently, has developers all over the world. This open source software is released under a BSD license. Contiki has a built-in Internet Protocol suite (TCP/IP stack) and provides multitasking. It can comfortably work on constrained devices with 30KB of RAM and 30KB of ROM.
Contiki is supported on hardware platforms such as
- TI CC2538
- TI MSP430x
- Atmel AVR
- TI MSP430
- Atmel Atmega128rfa1
RIOT is an IoT operating system with real-time capabilities. It was first developed by a consortium of universities in Germany and France, which included Free University of Berlin, French Institute for Research in Computer Science and Automation, and Hamburg University of Applied Sciences. It is released under the GNU Lesser General Public License (LGPL).
It is based on microkernel architecture and runs on 8-32bit microcontrollers. RIOT supports multi-threading and the entire IoT network stack, which includes
- 802.15.4 Zigbee
RIOT can run on constrained devices with a minimum of 1.5KB of RAM and 5KB of ROM; it supports architectures such as
- Cortex-M0,M3 and M4
It is developed by Chinese telecom giant Huawei. It was released in 2015 under ISC license. LiteOS is a real-time operating system of just 10KB in size and it supports advanced features such as
- Auto discovery
- Zero configuration
- Auto networking
It supports interconnection technologies such as
Kernel of LiteOS supports multi-CPU architectures such as
LiteOS can be installed on devices already running on Android, and it can be connected with various other third-party devices.
Similar to RIOT and LiteOS, Apache Mynewt is also a real-time operating system for IoT devices.
The source code of Mynewt is distributed under Apache License 2.0. The OS is capable of running on constrained devices with a minimum of 8KB of RAM and 64 KB of ROM. The Kernel of the OS is just 6KB but supports the following:
- Preemptive multithreading
- Priority-based scheduling
- Memory heap and memory pool allocation
- Multi-stage software watchdog
The biggest drawback of Apache Mynewt is its interconnection technology; as of now, it only supports Bluetooth low energy, but Wi-Fi, Thread, and Bluetooth 5 are part of the roadmap.
Currently, Apache Mynewt supports boards such as
- Arduino Zero and Zero Pro
- Arduino M0 Pro with ATSAMR21G18a Cortex M0
- Arduino 101 (Bluetooth controller only)
- Arduino Primo (Bluetooth controller and host)
This is a collaborative project under Linux Foundation and is available through the Apache 2.0 license. It was launched in February 2016.
In Zephyr OS, there are no loadable kernel modules because the kernel is statically compiled into a single binary executable file. This makes Zephyr safe from compile time attacks.
Zephyr is a real-time operating system which can run on a device with memory as small as 8KB. The biggest strength of Zephyr is its interconnectivity technology, which includes
- Bluetooth LE
Zephyr supports the following architectures:
Canonical, the company behind Ubuntu, recently released Ubuntu Core 16, which is also known as Snappy. It is called Snappy because the operating system (including Kernel, libraries and major applications) is delivered as a Linux application package known as snaps. The base file of Ubuntu core 16 is 350MB and all the files after installation are stored as images.
The Ubuntu Core 16 is compatible with the following boards:
- Qualcomm Dragonboard
- Samsung Artik
- Intel Joule
- Raspberry Pi2 and Pi3
To know more about the Ubuntu Core 16, read this article “Ubuntu Core 16: Building secure and interoperable IoT ecosystems.”
Open source is not just a business model or software development model but is a big opportunity for both professional coders and hobby programmers to touch a billion people and change their lives forever by contributing to opensource projects and pushing good code.
Get advanced recruiting insights delivered every month
Get advanced recruiting insights delivered every month
Get insightful articles from the world of tech recruiting straight to your inbox
Hiring is hard — no doubt. Identifying the top technical skills that you should hire for is even harder. But we’ve got your…
In the fast-paced tech world, finding the right talent is paramount. For years, HackerEarth has empowered tech recruiters to identify top talent through…
In tech or coding assessments, subjective questions are open-ended questions that require the candidate to provide a more detailed or nuanced response than…
This year, as the industry went through a hiring freeze, we at HackerEarth took the time to elevate our product lineup so that…
In today’s dynamic business landscape, organizations are constantly seeking ways to optimize their talent acquisition strategies to attract and retain top performers. The…
System design interviews are becoming increasingly popular, and important, as the digital systems we work with become more complex. The term ‘system’ here…