Skip to main content
BlogZephyr Developer Summit

Power Play: Optimizing Power Management with Zephyr (Videos)

By June 25, 2024July 1st, 2024No Comments

The Embedded Open Source Summit took place from April 16-18 in Seattle, Washington, alongside the Open Source Summit North America. The Zephyr Developer Summit was part of the EOSS, aimed at developers using or considering Zephyr in embedded products. This year, we concentrated on supporting topics relevant to Zephyr users, upstream contributors, and maintainers.

More than 860 individuals from 721 organizations across 46 countries registered for the EOSS conference. The Zephyr track featured over 50 technical sessions, both in-person and on-demand, focusing on users, upstream developers, and maintainers.

Videos from the Zephyr Developer Summit are available on the Zephyr Project YouTube channel. We will highlight a few videos each week in a blog for easy access.

Today we are featuring:

Device Power Management: Journey to 5uA – Jordan Yates, CSIRO

In his presentation, Jordan Yates from CSIRO dive into the critical importance of optimizing power consumption in battery-powered devices. Emphasizing both user experience and environmental benefits, he outlines strategies to achieve ultra-low power operation, specifically targeting a micro amp idle current draw. 

The session explores the case study of a Nordic Semiconductor nRF52840-based platform, featuring various components such as Bluetooth, LoRaWAN, GNSS modem, and multiple sensors. Yates discusses the intricacies of power management, including hardware design considerations, software guidelines, and iterative improvement techniques. He highlights practical steps for enabling device runtime power management in Zephyr, overcoming non-obvious pitfalls, and ensuring devices return to low power states post-usage. The talk also covers validation methods and troubleshooting strategies, providing a comprehensive guide for developers aiming to optimize power consumption in their embedded systems.

Exploring Zephyr Power Management: Overview and Implementation Guide – Flavio Ceolin, Intel

In this session, Flavio Ceolin from Intel provided a comprehensive overview of Zephyr’s power management framework. The presentation covered the architecture, key components, and implementation strategies for optimizing power consumption in embedded systems. Flavio began by outlining the importance of power management, including extending battery life, cost savings, and regulatory compliance. He then explored the design goals and the collaborative approach Zephyr uses to achieve energy efficiency while ensuring system responsiveness.

The session explored the two main areas of Zephyr’s power management: system power management and device power management. System power management focuses on managing CPU power states during idle times, guided by a policy manager that selects appropriate power states based on system conditions and constraints. Device power management involves suspending and resuming devices dynamically based on their usage, with options for both static and dynamic management.

Flavio provided detailed explanations of key concepts such as kernel idling, power states, and the role of the policy manager. He also discussed the practical steps needed to enable and implement power management in Zephyr, including configuring key options, implementing necessary callbacks, and defining power states in the device tree.

The session concluded with insights into advanced topics like power domains and collaborative efforts between drivers, subsystems, and applications to achieve optimal power savings. 

Zephyr Power Management for Wearable Devices – Disha Patil, NXP Semiconductors

In this session, Disha Patil from NXP Semiconductors presented the implementation of the Zephyr Power Management subsystem using a smartwatch demo application based on the NXP platform. This demo application showcases the use of power management for both the device (SoC) and the system, integrating various power optimization techniques tailored for wearables. The presentation highlighted leveraging Zephyr’s kconfig symbols and devicetree features to implement different sleep modes, optimizing both active and idle power consumption.

A key feature of the demo is the integration of the LVGL graphics library and 2D GPU for smooth animations on smartwatch faces. Additionally, it includes support for MIPI display/DSI drivers and Dynamic Voltage and Frequency Scaling (DVFS) to optimize power usage. Memory optimizations, such as relocating code from flash to SRAM and managing SRAM partitions, were also discussed to further reduce overall power consumption.

Disha provided a detailed walkthrough of the power management features of the NXP RT500 MCU, including the dynamic voltage scaling capabilities enabled by an integrated PVT sensor and the use of a power management IC (PMIC) for efficient power regulation. The session emphasized the practical application of these features through the Zephyr RTOS, aiming to help embedded developers design low-power wearable applications.

The session concluded with a demonstration video of the smartwatch, showcasing various watch faces and animations, and a discussion on the power optimization techniques implemented. Attendees were encouraged to visit the NXP booth for a hands-on demo and to explore the open-source repository on GitHub for further experimentation. The presentation provided valuable insights into achieving energy-efficient designs for wearable devices using Zephyr.

 

 

Watch the rest of the Zephyr Developer Summit videos here. The schedule and links to the PPT presentations can be found here. Photos from the EOSS can be found here.

For more information about the 2024 event, stay tuned by subscribing to the Zephyr quarterly newsletter or connect with us on @ZephyrIoT, Zephyr Project LinkedIn or the Zephyr Discord Channel to talk with community and TSC members.