Everything you wanted to know about ST on Mbed, but were afraid to ask

This is a guest post from STMicroelectronics.

As we celebrate our fourth year on the Mbed IoT platform, we are proud that nine Discovery kits, 29 Nucleo boards, and 24 expansion boards are now part of the ecosystem, making ST one of its most active contributors. In 2014, we started with only four compatible STM32 Nucleo boards, but we continued to increase our portfolio of Mbed Enabled™ solutions, while also porting many application examples and features.

Mbed is a device management platform that includes an operating system for IoT (Internet of Things) systems using microcontrollers (MCU) with a 32-bit Arm® core. One of its most popular aspects is the online compiler, which offers the ability to quickly start developing various applications for Mbed OS. The IDE is entirely online, free, and well documented with an active community to provide support to newcomers. Still, Mbed is much larger than just the compiler itself since there are also cloud services and TLS (Transport Layer Security) solutions to secure communications, among other things.

What kind of ST Boards are Mbed Enabled?


The Mbed Enabled B-L475E-IOT01A Discovery kit.

ST’s impressive contribution to the Mbed IoT device platform first becomes evident when engineers and enthusiasts start selecting a system to serve as the foundation for their design. Since we offer the most comprehensive selection of boards today, users can tailor their choice of platforms to their needs and constraints. For instance, the NUCLEO-F030R8 is a cost-effective solution with an MCU that can reach 48 MHz, offer two I2C as well as two USART interfaces, while still integrating sleep and stop modes to save energy. On the other hand, projects prioritizing computational throughput will delight in the DISCO-F769NI, thanks to its Cortex®-M7 core, 2 MB of flash, its Floating Point Unit, and many other compelling features. Additionally, the Mbed Enabled page for each ST board lists application examples and displays diagrams of their pin-out to help engineers code faster.

Since Mbed Enabled Nucleo boards include an Arduino connector, it is possible to use expansion boards from different manufacturers to add features, such as a display, a GPS receiver, or an electromechanical gas detection circuit, to name a few. However, it’s most likely that users will choose one of our shields because we’re the manufacturer with the most expansion boards on Mbed OS as most of our X-Nucleo solutions are already Mbed Enabled. These boards also go through extensive testing processes before we release them to market to ensure their compatibility with the ST ecosystem, something that competing solutions cannot guarantee. Additionally, they come with features and optimizations that are not always present on third-party shields, which means we ensure users can push their Mbed projects a lot further.

What simple projects run on Mbed OS?


Screenshot of the new program creation window in the Mbed compiler.

A developer using the online compiler for the first time will most likely want to start with a simple project. For instance, ST brought its B-L475E-IOT01A Discovery kit IoT node to the platform so users could start prototyping in no time. This solution has the great benefit of including an STM32L4 MCU, which has more than enough computational power for the vast majority of IoT applications, while also offering Bluetooth, sub-gigahertz RF, Wi-Fi, a dynamic NFC tag, and a plethora of sensors. Developers using this board can get sample applications like STM32_Blink_LED, which is basically the equivalent of “Hello World” since its purpose is to make the board’s LED blink. It ensures, however, that the system is responding well before digging deeper. Another similar application example on Mbed OS is HelloWorld_ST_Sensors, which is a fantastically straightforward way to guarantee the motion and environmental sensors work correctly.

What complex projects run on Mbed OS?

There are also much more complex projects, such as SunTracker_BLE, which uses a motor controller to follow a light source by changing the orientation of a solar panel, thus optimizing the solution’s efficiency. Similarly, once engineers working with the B-L475E-IOT01A Discovery kit familiarize themselves with Mbed OS, they will surely want to use more complex applications. One of them is MOTENV_Mbed, which reads information from the sensors and send it to ST’s BlueMS iOS or Android app using Bluetooth LE.

This application also works with a stack made of a NUCLEO-F401RE, X-NUCLEO-IDB05A1, and X-NUCLEO-IKS01A2. It’s possible to take this setup one step further by sending the sensors’ data to a Bluetooth gateway that will, in turn, send the values to a cloud, thanks to the mbed-os-example-client-BLE_Client application. All users need is another stack composed of a NUCLEO-F429ZI, and X-NUCLEO-IDB05A1, or a NUCLEO-L476RG, X-NUCLEO-IDB05A1, and X-NUCLEO-IDW01M1. The former stack uses an Ethernet port, while the latter has a Wi-Fi board. It’s also possible to experiment with 6LoWPAN networks by creating a node using our sub-gigahertz expansion board X-NUCLEO-IDS01A4 and the mbed-os-example-client application. Similarly, a 6LoWPAN access point would simply require the X-NUCLEO-IDS01A4, the Wi-Fi board X-NUCLEO-IDW01M1, and the Mbed OS nanostack-border-router repository.

Why contribute to Mbed?


The Bluetooth expansion board X-Nucleo-IDB05A1.

It’s often difficult to convince decision-makers and investors of the ingenuity, efficacy, and ability of a concept. By using the Mbed IoT device management platform, technical leaders can come up with interesting prototypes, thanks to Arm’s popular environment and ST’s comprehensive offerings.

Obviously, the STM32 Open Development Environment continues to be a powerful platform for engineers and our comprehensive solutions, like the STM32CubeMX or our Software Development Tools, continue to drive innovation. Similarly, many developers also rely on the Mbed Integrated Development Environment to bring their ideas to life and their products to end users. This is why we recognize that the Arm Mbed platform also plays a significant and crucial role in the community because its IoT device platform can dramatically lower the barrier to entry.

Furthermore, it’s a fantastic teaching tool and an excellent example of how open source communities can come together to change the industry, which is why we couldn’t be prouder to participate so actively in this endeavor. As our latest ventures into online university courses or makerspaces show, we actively contribute to the Arm Mbed platform because empowering more people to create IoT project is part of our DNA.

Share your favorite Mbed IoT device platform feature or project in the comment section below!