C25 1 hr 30 min

Emerging OS landscape

Compare ten operating systems used across sensors, gateways, wearables, and routers.

The ten OSes

OSTypical targetKey characteristic
TinyOSWireless sensor networksComponent-based, event-driven, very small footprint
ContikiIoT sensor nodesOpen source, protothreads, 6LoWPAN
RIOTIoT devicesReal-time, multi-threading, low memory
Ubuntu CoreEdge devices and gatewaysSnap-based, transactional updates
Fuchsia OSGoogle devicesMicrokernel (Zircon), capability-based
Windows 10 IoTIndustrial and edge Windows devicesWindows ecosystem and device management
TizenWearables, TVs, appliancesLinux-based, web and native apps
Android ThingsEmbedded Android devicesAndroid APIs on IoT hardware (legacy)
OpenWrtRouters and gatewaysLinux router firmware with a package manager
Mbed OSARM Cortex-M devicesArm IoT OS with connectivity stacks

How to choose

Start with the constraint that matters most:

  1. Power and memory — TinyOS, Contiki, RIOT, Mbed OS.
  2. Gateway or edge compute — Ubuntu Core, OpenWrt, Windows 10 IoT.
  3. Consumer device ecosystem — Tizen, Fuchsia, Android Things.

Check your understanding

  • Which OS would you choose for a battery-powered sensor? Why?
  • What makes OpenWrt a natural fit for a gateway?
All C25 lessons