Back to skills
SKILL.md
Power Profiler
ASecurityPower consumption measurement and analysis expertise for embedded systems. Integrates with power analyzer tools to measure, profile, and optimize power consumption in battery-powered and energy-efficient designs.
- 1,760 stars
- 0 votes
- 0 copies
- 3 views
- Added September 2, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add a5c-ai/babysitter --skill power-profiler --agent claude-codeAre you the author of Power Profiler?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/a5c-ai-power-profiler-babysitter)---
name: power-profiler
description: Power consumption measurement and analysis expertise for embedded systems. Integrates with power analyzer tools to measure, profile, and optimize power consumption in battery-powered and energy-efficient designs.
allowed-tools: Read, Grep, Write, Edit, Bash, Glob, WebFetch, WebSearch
graph:
domains: [domain:embedded-systems]
specializations: [specialization:embedded-systems]
skillAreas: [skill-area:rtos-programming, skill-area:firmware-development]
roles: [role:embedded-engineer]
---
# Power Profiler Skill
Expert skill for power consumption measurement, analysis, and optimization in embedded systems. Provides integration with power analyzer tools and deep expertise in low-power design techniques.
## Overview
The Power Profiler skill enables comprehensive power analysis for embedded systems, supporting:
- Power analyzer tool integration (Otii Arc, Nordic PPK2, Joulescope)
- Current measurement configuration and calibration
- Power mode transition analysis
- Battery life estimation calculations
- Power profile comparison and trending
- Peripheral power contribution analysis
- Sleep mode leakage identification
- Energy-per-operation measurements
## Capabilities
### 1. Power Measurement Configuration
Configure and calibrate power measurement hardware:
```javascript
// Example: Configure Otii Arc power analyzer
const powerConfig = {
analyzer: 'otii-arc',
sampleRate: 4000, // Hz
currentRange: 'auto', // auto, low (uA), high (mA)
voltageOutput: 3.3, // Supply voltage
triggerMode: 'gpio', // gpio, serial, manual
triggerPin: 'GPI1'
};
```
### 2. Power State Analysis
Analyze power consumption across different operating states:
```markdown
## Power State Profile
| State | Current (avg) | Duration | Energy |
|-------|---------------|----------|--------|
| Active | 15.2 mA | 50 ms | 760 uJ |
| Processing | 45.3 mA | 10 ms | 453 uJ |
| Radio TX | 120 mA | 5 ms | 600 uJ |
| Sleep | 2.5 uA | 935 ms | 2.3 uJ |
| **Total Cycle** | - | 1000 ms | **1815.3 uJ** |
Average Current: 1.815 mA
Battery Life (1000 mAh): 551 hours (23 days)
```
### 3. Power Mode Transition Analysis
Identify and analyze power state transitions:
- Wake-up latency measurement
- Sleep entry timing
- Transition energy overhead
- Unexpected wake-up detection
- Power state sequence verification
### 4. Peripheral Power Contribution
Break down power consumption by peripheral:
```markdown
## Peripheral Power Breakdown
| Peripheral | Active Current | Sleep Current | Contribution |
|------------|----------------|---------------|--------------|
| MCU Core | 8.5 mA | 1.2 uA | 35% |
| Radio (BLE) | 6.2 mA | 0.5 uA | 25% |
| Sensors | 3.8 mA | 0.8 uA | 16% |
| Display | 4.2 mA | 0.1 uA | 17% |
| Other | 1.5 mA | 0.4 uA | 7% |
```
### 5. Battery Life Estimation
Calculate expected battery life for various usage scenarios:
```javascript
// Battery life estimation parameters
const batteryEstimate = {
batteryCapacity: 230, // mAh (CR2032)
dutyCycle: {
activePeriod: 100, // ms
sleepPeriod: 9900, // ms
transmitCount: 1 // per cycle
},
currentProfile: {
active: 15.0, // mA
sleep: 2.5, // uA
transmit: 120.0 // mA
},
derating: 0.85 // 85% capacity utilization
};
// Calculated: 2.3 years battery life
```
## Process Integration
This skill integrates with the following processes:
| Process | Integration Point |
|---------|-------------------|
| `power-consumption-profiling.js` | Primary execution - all phases |
| `low-power-design.js` | Measurement and validation phases |
| `real-time-performance-validation.js` | Power budget verification |
## Tool Integration
### Supported Power Analyzers
| Tool | Features | Connection |
|------|----------|------------|
| **Otii Arc** | High precision, automation API | USB, REST API |
| **Nordic PPK2** | Source/ampere meter modes | USB, nRF Connect |
| **Joulescope** | Real-time streaming, triggers | USB, Python API |
| **Keysight N6705C** | Multi-channel, high accuracy | GPIB, USB, LAN |
| **Qoitech Otii** | Cloud integration, sharing | USB, Otii Desktop |
### Data Export Formats
- CSV time-series data
- JSON power profiles
- PNG/SVG visualizations
- Interactive HTML reports
- Otii project files (.otii)
- Joulescope capture files (.jls)
## Workflow
### 1. Setup Measurement Environment
```bash
# Verify power analyzer connection
otii-cli device list
# Configure measurement parameters
otii-cli project create \
--name "power-profile-$(date +%Y%m%d)" \
--voltage 3.3 \
--current-range auto
```
### 2. Capture Power Profile
```bash
# Start recording with GPIO trigger
otii-cli recording start \
--trigger gpio:GPI1:rising \
--duration 10s
# Or use serial trigger
otii-cli recording start \
--trigger serial:START \
--stop-trigger serial:STOP
```
### 3. Analyze Results
```bash
# Export measurement data
otii-cli recording export \
--format csv \
--output power-data.csv
# Generate statistics
otii-cli statistics \
--markers state:active,state:sleep \
--output stats.json
```
### 4. Generate Report
The skill generates comprehensive power analysis reports including:
- Executive summary with key metrics
- State-by-state power breakdown
- Transition timing analysis
- Battery life projections
- Optimization recommendations
- Comparison with targets/baselines
## Output Schema
```json
{
"summary": {
"averageCurrent_mA": 1.815,
"peakCurrent_mA": 120.0,
"sleepCurrent_uA": 2.5,
"estimatedBatteryLife_hours": 551
},
"powerStates": [
{
"name": "active",
"current_mA": 15.2,
"duration_ms": 50,
"energy_uJ": 760
}
],
"transitions": [
{
"from": "sleep",
"to": "active",
"latency_us": 125,
"energy_uJ": 1.2
}
],
"peripheralBreakdown": {
"mcu": { "active_mA": 8.5, "sleep_uA": 1.2 },
"radio": { "active_mA": 6.2, "sleep_uA": 0.5 }
},
"recommendations": [
"Reduce radio TX power by 3dB to save 15% energy",
"Enable peripheral clock gating during sleep"
],
"artifacts": [
"power-profile.csv",
"power-report.html",
"waveform.png"
]
}
```
## Best Practices
### Measurement Setup
- Use kelvin sense connections for accurate voltage measurement
- Minimize wire length between analyzer and DUT
- Ensure stable power supply to analyzer
- Allow thermal stabilization before measurement
### Calibration
- Zero-offset calibration before each session
- Verify measurement accuracy with known load
- Document measurement uncertainty
### Analysis
- Use markers to identify power states
- Compare against power budget requirements
- Track power metrics across firmware versions
- Document measurement conditions
## References
- Nordic PPK2 User Guide
- Joulescope User Guide
- Otii Arc Documentation
- "Power Management for Internet of Things" - ARM
- Low-Power Design Methodology Manual
## MCP Server Integration
Compatible MCP servers for enhanced functionality:
| Server | Purpose |
|--------|---------|
| `embedded-debugger-mcp` | Coordinate debug probes with power measurement |
| `serial-mcp-server` | Serial trigger synchronization |
| `tinymcp` | Device state monitoring |
## See Also
- `low-power-design.js` - Low-power design implementation process
- `power-consumption-profiling.js` - Full power profiling workflow
- AG-006: Power Optimization Expert agent
Files in this skill
- README.md
- SKILL.md
Attribution
Comments
Loading comments…