This is an archived copy of all my blog posts which is irregularly updated.
  • JerryScript workshop 2017

    A year ago we launched experimental JavaScript support for mbed OS 5, which allows developers to write their IoT applications in a high level scripting language. This is possible through JerryScript, a lightweight JavaScript engine that has full EcmaScript 5.1 support, but fits in only 64K of RAM.

    Last week the core contributors to the JerryScript project came together in Szeged, Hungary to talk shop, discuss new features and drink some home-made palinka. Rob Moran (senior engineering manager, Tools team) and Jan Jongboom (JerryScript contributor) were representing Arm.

    Continue reading »

  • Where did my flash go? Visualizing linker statistics

    It happens to all of us. At some point, your application compiles, but the linker fails with a message similar to '.data' will not fit in region RAM’`. This is a sign that the application does not fit in flash, something that is limited on most microcontrollers. Flash memory takes up a lot of silicon area (In this picture of an ST Cortex-M3, the 128K of flash is in red), and therefore increases both the cost and the likelihood of defects in microcontrollers. Flash also requires power, and more flash increases power consumption. Less flash is better for cost and energy efficiency, but it can be a nuisance when writing applications.

    Continue reading »

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