This is an archived copy of all my blog posts which is irregularly updated. For my latest blog posts see the Mbed Developer Blog.
  • Streaming data of cows during Data Science Africa

    Last month, Arm sponsored Data Science Africa 2017, a machine learning and data science conference held annually in East Africa. This year, the Nelson Mandela African Institute of Science and Technology in Arusha, Tanzania hosted the 300 attendees for five days of workshops, talks and interesting conversations. Arm hosted a two-day IoT workshop and a keynote, but the fun starts when you apply your acquired knowledge to a real-life scenario. Thus, on the Saturday after the conference, Jan Jongboom (Developer Evangelist), Damon Civin (Lead Data Scientist) and 15 conference attendees, headed to the outskirts of Arusha for some good, old-fashioned field work.

    Continue reading »

  • Built with mbed - supply chain monitoring with Babbler

    This is the third article in the ‘built with mbed’-series. In the previous articles, we monitored snow and brewed beer.

    Shipping bananas from Africa to Europe, sending flowers over the Pacific Ocean, importing electronics from Asia. Every year, there are almost 700 million container movements around the world. The sheer volume of global shipments can pose some interesting challenges. How do you ensure that the temperature of your fruit has been consistent during the entire trip? How do you know that the container was not opened after loading, for example to smuggle drugs? And how do you communicate the data back to HQ in time to act on it? The Dutch company Itude Mobile has tackled all of these questions with Babbler, a small and tamper-proof seal that monitors how your cargo is treated. A fascinating product by itself, it’s even more interesting when you realize that it’s the first hardware product the company has ever developed. Reason enough for Jan Jongboom (Developer Evangelist) and Danielle Irons (Content Specialist) to talk with Robin Puthli, CEO of Itude.

    Continue reading »

  • Firmware updates over Low-Powered Wide Area Networks

    Firmware updates are essential for large scale deployment of connected devices. Security patches protect customer and business data, and new functionality, optimizations and specalization extend the lifetime of devices. This article demonstrates firmware updates over the most challenging type of networks: low power and long range networks.

    Continue reading »

  • Built with mbed - brewing beer with bruiot

    This is the second article in the ‘built with mbed’-series. In the previous article, we explored the snowmelt monitoring system deployed in Holland, MI.

    Homebrewing is taking the world by storm. With 20% year-on-year growth rate and over a million homebrewers in the United States alone, there’s a growing thirst for new technological developments in the age-old art of brewing. Creating a good, consistent craft beer is not easy. Not only does it requires quality ingredients and spotless machinery, the process also needs to be monitored intensively, as a two degree °C temperature variation while mashing the malts can cause inconsistency in a batch. For some, that’s a problem - for others, it’s a challenge. Martin Bradley, a homebrewer from Boulder, Colorado, brushed off his electrical engineering skills and started automating his home brewery using mbed OS development boards, and leveraging mbed Device Connector as a data channel. Jan Jongboom (Developer Evangelist) and Danielle Irons (Content Specialist) spoke with him.

    Continue reading »

  • Securing soft-SIM credentials with mbed uVisor

    Device authentication is a difficult and interesting problem. How do you know that a device is not lying about its identity? How do you keep authentication keys secure? On mobile phones, we’ve solved this by using SIM cards, which run their own operating system completely separate from the OS of your phone, ensuring that keys stay secure. However, SIM cards have some big disadvantages for IoT devices: they are relatively bulky, need a connector and add extra cost to your design. That’s why Ericsson, u-blox and ARM have collaborated to work on a solution for IoT devices that offers strong enough security but none of the downsides of SIM cards. This work was demonstrated three weeks ago during Mobile World Congress.

    Continue reading »

  • Generating C++ wrappers for JS on mbed

    TL;DR? Here’s the link to the JS wrapper generator.

    A few months ago, we launched JavaScript on mbed, an experimental program that runs the JerryScript VM on top of mbed OS 5. This allows you to code your embedded application in a higher level language, while the core OS is still C++. This combination lets you use the flexibility of a dynamic language without too much sacrifice on performance.

    Continue reading »

  • Tracing stack and heap overflow errors

    If you have ever seen the lights of dead on your development board, accompanied by an RTX error code: 0x00000001 or Operator new out of memory message on the serial port, you have hit a memory overflow bug. Memory management remains a difficult problem on microcontrollers. Not only is memory limited, but also microcontrollers do not have an MMU and therefore cannot move memory blocks around without changing addresses. This lack of virtual memory means you have to have fixed stack sizes, so you can run into a stack overflow error even when there is still RAM available.

    Continue reading »

  • 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 »

  • Simplify your codebase with mbed-events

    Alongside the release of mbed OS 5, we also introduced mbed-events, an event loop library 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 core mbed OS 5.2, we’d like to show how this library can simplify your code.

    Continue reading »