Power Manager Developer Guide#

About this Guide#

This guide provides comprehensive documentation for the Power Manager service, a critical component of the Silicon Labs Platform SDK. It helps external developers and customers understand, configure, and successfully integrate power management functionality into their embedded applications. Whether you're building wireless IoT devices, industrial automation systems, or battery-powered sensors, this guide will help you optimize your system's power consumption using the power management functionalities.

Audience#

This documentation is intended for:

  • Firmware developers integrating Silicon Labs MCUs into embedded applications

  • Platform integrators building custom embedded systems on Silicon Labs hardware

  • Application engineers working with wireless protocols and low-power applications

  • System architects designing power-critical embedded solutions

  • Technical support engineers helping customers with power management issues

Purpose#

The Power Manager service provides centralized energy mode management and power optimization for Silicon Labs embedded systems. It abstracts the complexity of device-specific power modes and optimization algorithms, enabling developers to:

  • Manage system power through a requirements-based architecture that eliminates manual energy mode control

  • Optimize power consumption with advanced algorithms including HFXO on-demand control and schedule wake-up optimization

  • Integrate with wireless stacks and peripheral drivers for seamless power coordination

  • Handle voltage scaling and device-specific power features automatically

  • Ensure consistent power behavior across different device families

Scope#

This developer guide provides comprehensive documentation for implementing and optimizing power management in Silicon Labs embedded applications.

Core Implementation

  • Requirements-based architecture for automatic energy mode selection

  • Energy modes (EM0, EM1, EM2/EM3, EM4) and their characteristics

  • Component selection and integration (Deep Sleep versus No Deep Sleep variants)

  • Configuration files and Universal Configurator settings

  • Initialization sequences and startup procedures

  • Integration with bare-metal and RTOS applications

Power Management Features

  • Reference counting system for managing multiple energy mode requirements

  • Event notification system for power transition callbacks

  • Schedule wake-up optimization for synchronous events

  • Ultra-low-power EM4 mode with BURAM data persistence and pin retention

  • Execution modes for Series 3 devices (Performance versus Standard modes)

  • Voltage scaling for EM0/EM1 and EM2/EM3 modes

  • HFXO on-demand control and clock restoration timing

  • Sleep decision callbacks for bare-metal applications

System Control and Management

  • Sleep control APIs (sl_power_manager_sleep(), energy mode requirements)

  • EM4 entry and wake-up management with GPIO and BURTC sources

  • Power transition event subscription and handling

  • Debug and diagnostic tools for requirement tracking

  • Performance analysis using Energy Profiler integration

  • Common troubleshooting scenarios and systematic debugging approaches

  • Production optimization strategies for minimal power consumption

Practical Implementation

  • Complete code examples: Asynchronous sensor reading with optimal power management

  • Complete code examples: Ultra-low-power EM4 sleep with data retention across resets

  • Hardware and peripheral optimization techniques

  • Clock restore timing fine-tuning for Series 2 devices