Analysis: Smart cities, homes, cars, wearables and everything else need a software backbone, but what are the differences of the many IoT OSs in today’s market?
Several service providers have launched operating systems (OS), to give developers in the open community the opportunity to build IoT devices based on Arduino boards, RaspberryPi hardware and others.
CBR lists five IoT OSs, and their use.
1. ARM mbed OS
UK firm ARM, despite being more known for its processors, semiconductors and chips, is seeing a future business in the IoT with an OS entirely dedicated to smarten up ‘things’.
The mbed OS is an open source embedded OS, designed for developers to build IoT applications based on ARM’s Cortex-M microcontroller.
ARM is betting big on IoT, and with mbed OS is eyeing some of the largest IoT sectors, such as smart cities, homes and wearables.
The software is capable of scaling in order to work on all sorts of devices, including smaller ones. ARM has said it plans to add a multithreading functionality to the product this year.
The OS includes a low level hardware abstraction layer (HAL) as well as higher level abstract drivers for common hardware peripherals like SPI and I2C ports, GPIO pins and timers.
In the security space, the mbed OS uses ARM’s mbed OS uVisor, which uses the company’s data on the Cortex-M architecture and its features to create and enforce isolated security domains within the microcontroller.
The system also supports the most common IoT connectivity technologies, including Ethernet, WiFi. IPv6 and 6LoWPAN, Thread and Bluetooth Low Energy (BLE).
ARM has backed itself with a strong partners portfolio, which might help it see a strong traction of its OS in the future. Some partners include 1248, Ericsson, IBM, Salesforce and Schneider Electric.
2. Firefox OS IoT
Mozilla is the newest player in the IoT OS space, having released Firefox for this market only in March 2016.
The OS is again targeted at hardware makers and developers. However, instead of building out a software system used freely for different application scenarios, Mozilla is targeting four specific areas of development.
The first round of IoT plans includes Project Link, a personal user agent that works to understand a consumer’s preferences for how they want to automate and interact with the world of devices in the home.
Next is Project SensorWeb, aimed at finding the easiest path from sensor to open data so contributors can collaboratively use sensors to get an understanding of their living environment.
The pilot project aims to build a crowd sourcing pm2.5 – particles found in the air, including dust, dirt, soot, smoke, and liquid droplets – sensor network to measure air pollution.
Thirdly, Project Smart Home "offers a middle ground between "in a box" solutions like Apple Homekit and DIY solutions like Raspberry Pi".
Lastly, Mozilla has announced Project Vaani to develop a voice interface for devices to communicate with consumers. The project will initially target smart homes, but the company plans to extend it to other IoT applications.
George Roter, leader of Mozilla’s Participation Lab, said: "Our push into the Connected Devices space will absolutely necessitate strong community support for our initiatives to be successful, and that means hacking on and testing new product innovations coming through the pipeline."
3. Google Brillo
Brillo is aimed at OEMs, app developers and users. Despite recent incidents with Nest, Google is steaming ahead to let the community build all sorts of devices.
Google says the software offers a robust security layer that limits exposure to attacks and lets developers recover compromised devices through service updates. This is in addition to being able to use encryption to secure hardware and software data.
The company has brought in industry heavy-weights as partners to help with its IoT vision. These include the likes of Intel, Qualcomm, Freescale, Marvell and Imagination.
Brillo is based on Android, and like most IoT OSs by tech giants, is mainly aimed at low-power devices with RAMs of 64MB and less, and memory constrained gadgets.
Targeting interoperability, Google has incorporated OS Weave’s communication protocol, so developers have a common language for locating devices on a network. The company has said that it expects other IoT Oss to take on Weave in the future.
Brillo was originally built in collaboration with Nest, Google’s smart home thermostat, a set of developer APIs, a core set of schemas and a certification programme to make sure device and app interoperability.
Intel has also taken on Google’s IoT OS bet and developed Edison, a hardware board, that also contains software and which can be combined with sensors to make it smarter and enable devices to become connected.
Intel itself has released an IoT OS, the RealSense OS X, so that developers can build new applications for the company’s RealSense technology that include camera, software and sensors.
In addition, Brillo has also been attracting attention from other connected players such as LG, Harmon and Asus. For example, at CES 2016, Asus unveiled a smart fridge whose intelligence is being powered by Brillo.
4. Huawei LiteOS
In March 2015, the Chinese telco giant released its IoT OS to tap into nearly all the IoT verticals: cities, homes, vehicles, wearables and so on.
Huawei has dubbed the OS as a "lightweight" software as it is only ten kilobytes in size. Yet, like other systems, it is designed to run on low-power devices. The OS has been designed to be mainly used in microcontrollers and ARM Cortex embedded processors.
LiteOS’s source code is available for download under an ISC license. The license lets developers copy, modify and share the coding for free.
Having built the solution on open APIs, Huawei is also giving the LiteOS community chipsets, modules and boards in a bid to get more developers using its OS.
The system is part of a bigger platform – Agile- also launched by Huawei in 2015. The SDN-based IoT platform was created to enable device makers to create new products and bridge connectivity between the ‘thing’ and the network.
5. Windows 10 IoT OS
Microsoft’s Windows 10 is essentially the tech giant’s IoT OS, with the IoT Core a smaller version of the company’s desktop, laptop and other larger device OS. It has been optimised to run on Raspberry Pi 2 and 3, Arrow DragonBoard 410c and MinnowBoard MAX.
The system does not require a display and utilizes Microsoft’s Universal Windows Platform (UWP) API. The UWP lets users write one application and use it on their device, phone or desktop.
The software also Arduino Wiring API used in Arduino sketches and libraries for direct hardware access.
Developers are able to use Visual Studio Community Edition to build applications. The program is a quality development tool that is available free and includes universal app templates, a code editor, a powerful debugger, rich language support, and more.
Dunbar said that the company is embracing "the simple principle of helping makers and device builders do more by bringing our world-class development tools, the power of the Universal Windows Platform, direct access to hardware capabilities and the ability to remotely debug, update and manage the software running on Raspberry Pi 2 devices".
"Our goal is to give Makers the opportunity to play with the software bits early and to listen to the feedback on what is working well and what we can do better, to ultimately ensure that creativity is front of mind in IoT," he said.
With the launch of RasperryPi 3 on March 7 this year, Microsoft launched a Windows 10 IoT Core Insider Preview through Windows Insider to let makers use its OS on the board.
Some applications already developed with the OS include a facial recognition door security system or a robotic IoT air hockey table. The OS also being used for speech recognition on ‘things’ which could become a competitor to Amazon’s Echo.
How to choose
It is still too early to separate the winners from the losers. At the end of the day it is about finding that IoT OS that will best serve the envisioned application.
Two ways to make it easier to decide which OS to adopt, is if developers focus on security and look at the number of partnerships and collaborations already in place with the system’s providers.
Security leads to trust, and distrust is caused by insecurity. That is how the end-user sees it, and that trust can only be won by having a robust layer of safety against attacks. Future-proofing, including regular software updates, is also crucial here.
In the end, all IoT OSs are fairly new with the majority launching in 2015 and still going under internal updates. Trying to use different OSs as R&D could be a possibility to understand exactly what a developer can achieve with a given software.
IoT is currently at a hit and miss stage, some things will work, while others will succumb to an issue with the software, hardware or both. With all these OSs being built as open source and free of charge, there is no loss to the developer apart from time invested in one project.