Many of the IoT devices that Azure Sphere can securely connect need to operate in power-constrained environments. We have heard from many customers who want to integrate Azure Sphere into devices powered by batteries, solar panels, and even supercapacitors. Power consumption is of paramount importance for these devices, as they typically need to operate on a strict power budget. The need to frequently replace batteries can result in a poor customer experience for consumer devices and can be an expensive and cumbersome process in the enterprise space.
As part of the 20.01 release of the Azure Sphere OS, we are excited to release Power Down, a feature that enables an application to put an Azure Sphere device into an ultra-low-power state from which it can be awoken at a specified time or in response to an event.
The Power Down state is the lowest possible power state that an Azure Sphere device can enter, short of being completely disconnected from a power supply. In Power Down, everything is powered off except the real-time clock (RTC). The device can then be awoken either after a specified amount of time (i.e. when the RTC alarm fires), or by an input signal triggering a wakeup GPIO pin.
Power Down is most useful for minimizing power consumption while the device is at rest—that is, not doing any meaningful work—for long periods of time. As such, devices that need to do either periodic or intermittent work will benefit the most from Power Down. The MT3620 can be configured to draw as little as 10μA while in the Power Down state, resulting in between a 10,000x and 50,000x reduction in power consumption compared to normal operation.
For example, say you have a device that needs to read data from some sensors, then upload the collected data to the cloud twice per day. In this scenario, the device in question can dramatically reduce power consumption by remaining in the Power Down state most of the time, then waking up twice per day to collect the data and perform the upload. Making use of Power Down on this device can reduce power consumption by over 99.9% and extend its projected lifetime by over 1300x compared to always leaving the device active.
The Azure Sphere OS exposes a simple programming model that enables apps to easily take advantage of Power Down. Apps must first declare the PowerControls capability in the app_manifest.json file with the ForcePowerDown value. This adds additional safety and security, ensuring that only designated apps can power down the device.
Once the capability is declared, apps can call the PowerManagement_ForceSystemPowerDown function from the new power management application library to put the device in the Power Down state, passing in an argument specifying the number of seconds for the device to stay in Power Down.
The device will then wake up after this specified amount of time or when the wakeup pin is activated, whichever comes first. Use of the wakeup pin is optional.
The best way to get started with Power Down is to try out the Power Down sample app in the azure-sphere-samples GitHub repo.
We have published hardware and software documentation that will help you get started prototyping devices that take advantage of Power Down:
Azure Sphere is a secured, high-level application platform with built-in communication and security features for internet-connected devices. It comprises a secured, connected, crossover microcontroller unit (MCU), a custom high-level Linux-based operating system (OS), and a cloud-based security service that provides continuous, renewable security.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.