This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.
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.
What is Power Down?
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.
Use case and power savings
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.
Programming model
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.
Power Down application lifecycle
Getting Started
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.
Next steps
We have published hardware and software documentation that will help you get started prototyping devices that take advantage of Power Down:
- Hardware Documentation
- See the RTC power requirements and Power Down considerations sections of the MT3620 Hardware Notes for general hardware design considerations.
- See the Power supply and Power Down mode sections of the MT3620 RDB user guide to learn how to configure the Reference Development Board (RDB) hardware for Power Down.
- MediaTek MT3620 Real Time Clock / Power Down Application Note
- Software Documentation
- Developing applications using Power Down
- PowerManagement_ForceSystemPowerDown API reference
- Power Controls section of the Application Manifest documentation
About Azure Sphere
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.
- Need help? Connect with experts through the Azure Sphere forum or on Stack Overflow.
- Share product feedback and requests.
- Stay current with the latest Azure Updates.