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