Mbed

Mbed is a development platform and real-time operating system (RTOS) designed for internet-connected devices that utilize 32-bit ARM Cortex-M microcontrollers. These internet-enabled devices are often categorized under the Internet of Things (IoT) umbrella. The Mbed project is a collaborative effort led by Arm Holdings, in partnership with various technology companies and contributors.
Features and Capabilities
Mbed provides a comprehensive environment for developing IoT applications, offering features such as:
Device Management: Capabilities for remotely managing connected devices.
Security: Built-in layers of security protocols to ensure data integrity and safeguard against unauthorized access.
Modular Libraries: A suite of modular software libraries to aid rapid development and deployment.
Ecosystem Compatibility: Designed to be compatible with various sensors, actuators, and cloud services, providing a versatile platform for IoT solutions.
Development Environment
The platform offers a robust development environment that includes:
Mbed OS: The core real-time operating system that offers standardized APIs and supports C/C++ programming languages.
Mbed Studio: An IDE (Integrated Development Environment) that provides debugging tools, code editors, and other resources to facilitate development.
Mbed CLI: Command-line tools for advanced users who prefer a text-based interface.
Collaborative Development
The Mbed project is a collaborative initiative involving Arm Holdings and a wide range of technology partners, including semiconductor manufacturers, cloud service providers, and IoT solution vendors. This collaborative model allows for a rich ecosystem of compatible hardware and software components.
Applications
Mbed is widely used in a variety of IoT applications ranging from smart home automation to industrial IoT systems. Its flexibility and security features make it suitable for diverse deployments, including healthcare, agriculture, and transportation sectors.
Software development
Applications
The primary way of developing Mbed applications is with the Arm Online Ide "Keil Studio Cloud" which is an online ide that uses cloud services to build and compile mbed applications.
Applications can be developed also with other development environments such as Keil µVision, IAR Embedded Workbench, and Eclipse with GCC ARM Embedded tools.
Mbed OS
Mbed OS provides the Mbed C/C++ software platform and tools for creating microcontroller firmware that runs on IoT devices. It consists of the core libraries that provide the microcontroller peripheral drivers, networking, RTOS and runtime environment, build tools and test and debug scripts. These connections can be secured by compatible SSL/TLS libraries such as Mbed TLS or wolfSSL, which supports mbed-rtos.
A components database provides driver libraries for components and services that can be connected to the microcontrollers to build a final product.
Mbed OS, the RTOS, is based on Keil RTX5.
Major Release History
Hardware development
Demo-boards
There are various hardware demo-boards for the Mbed platform, with the first being the original Mbed Microcontroller board. The Mbed Microcontroller Board (marketed as the "mbed NXP LPC1768") is a demo-board based on an NXP microcontroller, which has an ARM Cortex M3 core, running at 96 MHz, with 512 KB flash, 32 KB RAM, as well as several interfaces including Ethernet, USB Device, CAN, SPI, I2C and other I/O. The Mbed microcontroller received first prize in the annual EDN Innovation Awards' Software/Embedded Tools category in 2010.
Various versions of the board were released, with NXP LPC2368 (ARM7TDMI-S), NXP LPC1768 (Cortex-M3), NXP LPC11U24 (Cortex-M0) microcontrollers.
HDK
The Mbed hardware development kit (HDK) is designed for OEMs, and provides information to build custom hardware to support Mbed OS. This consists of interface firmware and schematics that can be used to easily create development boards, OEM modules and re-programmable products suitable for production.
Project development
The project is developed by Arm in conjunction with other major technology companies and the Mbed developer community. Development and contributions happen at different levels:
Core Platform – The core software platform, developed by core contributors and partner companies and managed and maintained by the Mbed team. This core platform is developed under the Apache License 2.0 via a contributor agreement. This includes all the core generic software components the platform provides, plus the HAL ports that allow Mbed to transparently run on different manufacturers microcontrollers and the toolchain ports that allow development using different embedded toolchains.
Component Database – Library components, developed by companies and the wider community, to provide support for peripheral components, sensors, radios, protocols and cloud service apis needed to build end devices. These are contributed under the Apache License 2.0 (encouraged) or other licenses chosen by the creators, and supported by those individual companies and members of the developer community
Development Tools
Mbed OS supports and has supported a number of different development tools,
Mbed Online Compiler (Deprecated since 2022)
Applications for the Mbed platform could be developed using the Mbed online IDE, a free online code editor and compiler. Only a web browser needed to be installed on the local PC, since a project was compiled on the cloud, i.e. on a remote server, using the ARMCC C/C++ compiler. The Mbed IDE provided private workspaces with ability to import, export, and share code with distributed Mercurial version control, and it could be used also for code documentation generation.
Mbed Online Compiler did not include any debugging functionality, and relied on a development cycle where users would download their compiled code as a .bin file, then manually copy it to an Mbed board (which appears as a USB flash drive).
Mbed Online Compiler was shut down on March 1, 2023, and replaced by Keil Studio Cloud.
Keil Studio Cloud
Similar to Mbed Online Compiler, Keil Studio Cloud allows development of Mbed OS applications without installation of any development tools on the local machine. However, it supports many additional features, such as improved intelligent code completion functionality and built-in version control using Git. Unlike the Online Compiler, Keil Studio Cloud is capable of downloading to and debugging supported Mbed boards directly from the browser using WebUSB functionality. This allows a truly one-click build and debug experience comparable to what is offered by desktop IDEs. However, this functionality does not support all Mbed boards or debug probes.
References
External links
ARM operating systems
Microcontroller software