ARM mbed OS is an open source embedded operating system for IoT for ARM Cortex-M microcontrollers that can be used to power smart cities, smart homes and wearables. mbed OS accelerates the time to market by providing a core operating system, robust security foundations, standards based communication capabilities, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack to readily customize it to devices being developed for, and reduce memory requirements by excluding unnecessary software components. mbed OS forms the client-side portion of the mbed IoT Device Platform on microcontrollers, and is designed to work in concert with mbed Device Connector, mbed Device Server, and mbed Client. Together this platform delivers comprehensive IoT solutions.