Skip Navigation

Azure IoT automatic device management helps deploying firmware updates at scale

Posted on January 14, 2019

Principal Program Manager, Azure IoT

Automatic device management in Azure IoT Hub automates many of the repetitive and complex tasks of managing large device fleets over the entirety of their lifecycles. Since the feature shipped in June 2018, there has been a lot of interest in the firmware update use case. This blog article highlights some of the ways you can kickstart your own implementation.

Update the Azure IoT DevKit firmware over-the-air using automatic device management

The Azure IoT DevKit over-the-air (OTA) firmware update project is a great implementation of automatic device management. With automatic device management, you can target a set of devices based on their properties, define a desired configuration, and let IoT Hub update devices whenever they come into scope. This is performed using an automatic device configuration, which will also allow you to summarize completion and compliance, handle merging and conflicts, and roll out configurations in a phased approach. The Azure IoT DevKit implementation defines an automatic device configuration that specifies a collection of device twin desired properties related to the firmware version and image. It also specifies a set of useful metrics that are important for monitoring a deployment across a device fleet. The target condition can be specified based on device twin tags or device twin reported properties. The latter is particularly useful as it allows devices to self-report any prerequisites for the update.

OTA with Mongoose OS, an open source IoT Firmware Development Framework

In October 2018, our partner Cesanta announced support for automatic device management in Mongoose OS. Mongoose OS is an open source IoT Firmware Development Framework that is cross-platform and supports a variety of microcontrollers from top semiconductor companies. Mongoose OS provides reliable OTA updates, built-in flash encryption, and crypto chip support. It allows developers to have a quick and easy start with ready to go starter kits, solutions, libraries, and the option to code either in C or JavaScript.

“Mongoose OS is designed to simplify IoT firmware development for microcontrollers by helping developers to concentrate only the specific device logic while taking care of all the heavy lifting: security, networking, device control and remote management, including over-the-air updates. By working with Microsoft Azure IoT, Mongoose OS streamlines connected product development and provides a ready-to-go integration,” says CTO and Co-Founder at Cesanta Sergey Lyubka.

Firmware update deployment for operators using Azure IoT Remote Monitoring

Most recently, we released support for automatic device management in Azure IoT Remote Monitoring. Expanding on the firmware update implementation for the Azure IoT DevKit, this solution accelerator shows how automatic device management can be utilized by an operator role, in particular how a group of devices can be targeted for deployment and how the deployment can be monitored through metrics.

More resources