mbed Blog

Built with mbed - Snowmelt System Monitor

Jogging through the city center in the middle of an intense snow storm, without the risk of slipping? No problem in Holland, Michigan, where they have deployed the Snowmelt system. An ingenious system of pipes has been installed under the downtown streets, pumping hot water that is created by recycling excess heat from the local power plant. Implemented in 1988, the system is now almost 5 miles long and covers an area of 600,000 square feet (5,500 m2). At the moment, the system sends out a constant flow of water, heated to about 90 degrees Fahrenheit (32°C) - but the engineers at the Holland Board of Public Works would prefer to make informed decisions when to operate the snowmelt system. If they could get temperature information from the field (sidewalk), they could adjust pumps and valves to more efficiently operate the system to save energy. And that kind of intelligent decision-making… starts with data.

Continue reading »

Using HTTP, HTTPS, MQTT and CoAP from mbed OS

One of the biggest changes in mbed OS 5 compared to mbed OS 2.0 was the unification of network interfaces. Every interface, whether it's Ethernet, Wi-Fi, Cellular, 6LoWPAN or Thread mesh, implements the same NetworkInterface API. This makes it easier to write portable code that matches the available connectivity method. In addition this API is easy to implement on top of any library that supports socket primitives, so porting new targets is straightforward. Recently we also added the Easy Connect library, which allows users to switch between all supported connectivity methods through a config file - tremendously helpful for tutorials and workshops.

Continue reading »

mbed OS 5.3.5 Release Available

We are pleased to announce the mbed OS 5.3.5 release is now available.

Here is a full list of all changes and fixes in this release.

Continue reading »

mbed OS 5.3.4 released

We are pleased to announce the mbed OS 5.3.4 release is now available. This release includes:

New target support for DISCO_F769NI, DELTA_DFCM_NNN50 and MAX32630FTHR. Miscellaneous tool updates and fixes.

Here is a full list of all changes and fixes in this release...

Continue reading »

Webinar: Utilizing the OMA LWM2M protocol to increase your productivity


The Lightweight Machine-to-Machine (LWM2M) protocol has been developed by the Open Mobile Alliance (OMA) to offer a faster time to market by standardizing commonly required device management functionality. Device management enables efficient collection of sensor data and provides remote management capabilities and also offers essential security features, including firmware updates. With LWM2M as an integral part of the foundation operating systems designed for IoT devices, like mbed OS, devices can communicate with cloud-based infrastructures that implement this standardized device management solution, such as mbed Cloud.

Continue reading »

Simplify your code with mbed-events

In mbed OS 5.2, we introduced mbed-events, an eventing system that can run in an RTOS thread. Using an event loop is very useful to defer execution of code to a different context. An example would be to defer execution from an interrupt context (ISR) to the main loop, or to defer execution from the high-priority thread to a lower priority thread. Now that mbed-events is part of mbed OS 5.2, we'd like to show how this can be used to improve your applications.

For more information about the mbed-events library, have a look at the documentation. All code in this blog post was tested against mbed OS 5.2.3.

Continue reading »

Why JavaScript on microcontrollers makes sense

Three weeks ago, during JSConf.asia 2016, we announced JavaScript on mbed, which enables developers to write firmware for IoT devices in JavaScript. This is not done by transpiling JavaScript into C++ or Assembly, but rather by running the JerryScript VM directly on top of ARM's mbed OS 5, which can be run on cost-effective microcontrollers. This announcement caused an interesting debate, including a heated thread on the Reddit Programming subreddit with 192 comments.

Continue reading »

mbed Connect Asia 2016: Bringing IoT back to the birthplace of devices

The ARM mbed team wrapped up an incredibly busy 2016 last week, with our first ever mbed Connect Asia event, held in Shenzhen, China. During one action-packed day, we mingled with our developers and our partners, hosted two parallel technical tracks and celebrated mbed’s success throughout Asia.

Continue reading »

Reducing memory usage by tuning RTOS configuration

Two weeks ago, we blogged about optimizing memory usage for mbed OS 5.2, and today we want to show how memory usage can be decreased even further. This can be accomplished by tuning the RTOS configuration to our specific needs, or even turning off mbed RTOS altogether. This allows us to fit mbed mbed OS 5.2 on the smallest targets, like the nRF51822 which has only 6K of RAM available for user-space applications.

All programs in this blog post are compiled for the nRF51-DK target using GCC 4.9.3.

Continue reading »

Optimizing memory usage in mbed OS 5.2

Three months ago we released mbed OS 5, the latest version of our operating system for microcontrollers. While we added a lot of new features - including an RTOS - we also saw a bigger than expected increase in flash and RAM usage, two things that are scarce on embedded devices. Reason for Vincent Coubard, Senior Software Engineer on the mbed team, to dig through the .map files and see how we can decrease memory usage in mbed OS.

Continue reading »