The ARM mbed OS is an embedded operating system designed to run in the "things" of an IoT system.​ It is based on 6LoWPAN and supports IPv6. It is also Thread certified. The mbed OS is well suited for low-power and self-healing mesh network smart home applications. The Mbed OS can run on a wide range of Arm Cortex-M processors from Cortex-M0 to Cortex-M4.

An online IDE is used to develop applications with Mbed OS. Programming and debuging of a device can all be done through a USB interface. Compilers tested include the Arm Compiler 5, GCC and the IAR compiler. Software libraries are available to support various wired and wireless connectivities including Bluetooth LE, Wi-Fi, 6LoWPAN, Sub-GHz Mesh, NFC, Thread, LoRa LPWAN, RFID, Ethernet, and Cellular. The Mbed OS also supports digital and analog IO, interrupts, port and bus IO, PWM, I2C, SPI and serial interfaces. The ARM Mbed OS adopts a modular libary design which will include necessary modules for the device used in your application.

Security is addressed in Mbed OS in hardware, software, and communication. At the lowest level of Mbed OS, a supervisory kernel called uVisor is used to create isolated security domains. This creates restrict access to memory and peripherals. SSL and TLS are used by the Mbed OS to ensurer communications security.

In summary, the ARM mbed OS
  • is open-source
  • is used on ARM Cortex-M microcontrollers
  • is modular and configurable to reduce memory usage 
  • provides drivers for sensors, I/O devices and networking
  • provides cloud management services 
  • provides security services