Mistake on this page?
Report an issue in GitHub or email us

An introduction to Arm Mbed OS 6

Mbed OS is an open-source operating system for Internet of Things (IoT) Cortex-M boards: low-powered, constrained and connected. Mbed OS provides an abstraction layer for the microcontrollers it runs on, so that developers can write C/C++ applications that run on any Mbed-enabled board.

The Mbed OS source code is available on GitHub and on our release page.

Profiles and RTOS

The full profile of Mbed OS is an RTOS (it includes Keil RTX and all RTOS APIs), so it supports deterministic, multithreaded, real-time software execution. The RTOS primitives are always available, allowing drivers and applications to rely on threads, semaphores, mutexes and other RTOS features. It also includes all APIs by default, although you can remove unused ones at build time.

The bare metal profile doesn't include Keil RTX and is therefore not an RTOS - it is designed for applications that do not require complex thread management. It is also designed for constrained devices, and therefore focuses on minimizing the size of the final application: by default, it includes only the smallest possible set of APIs, to which you can manually add APIs that your application requires. The bare metal profile can use the small C libraries (which are not thread safe) to further minimize the size of the application. Mbed 2 users who want to move to Mbed OS 6 should use the bare metal profile.


We release Mbed OS under an Apache 2.0 license, so you can confidently use it in commercial and personal projects. For more information about licensing, please see our licensing documentation.

Getting started

Our quick start guides show how to build an example application for both the full profile and bare metal profile, with Keil Studio Cloud, Mbed Studio and Mbed CLI.

Build with Keil Studio Cloud Build with Mbed Studio Build with Mbed CLI 1
Replaces the Mbed Online Compiler. Our zero-installation web IDE to explore Mbed OS and CMSIS; great for rapid prototyping and education.
This link will take you to Arm Developer
Our dedicated desktop IDE. Includes all the necessary tools to work with Mbed OS.
This link will take you to the Mbed Studio documentation site.
Command-line tool requiring manual setup of tools, but providing the greatest degree of flexibility.

Recently updated documentation

  • Mbed Online Compiler replaced by Keil Studio Cloud.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.