Agent skill

power-profiler

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.

Stars 514
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/a5c-ai/babysitter/tree/main/library/specializations/embedded-systems/skills/power-profiler

SKILL.md

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

Expand your agent's capabilities with these related and highly-rated skills.

a5c-ai/babysitter

gsd-tools

Central utility skill for GSD operations. Provides config parsing, slug generation, timestamps, path operations, and orchestrates calls to other specialized skills. Acts as the unified entry point that the original gsd-tools.cjs provided via its lib/ modules (commands, config, core, init).

514 31
Explore
a5c-ai/babysitter

model-profile-resolution

Resolve model profile (quality/balanced/budget) at orchestration start and map agents to specific models. Enables cost/quality tradeoffs by selecting appropriate AI models for each agent role.

514 31
Explore
a5c-ai/babysitter

verification-suite

Plan structure validation, phase completeness checks, reference integrity verification, and artifact existence confirmation. Provides the structured verification layer ensuring GSD artifacts are well-formed and complete.

514 31
Explore
a5c-ai/babysitter

state-management

STATE.md reading, writing, and field-level updates. Provides cross-session state persistence via .planning/STATE.md with structured fields for current task, completed phases, blockers, decisions, and quick tasks.

514 31
Explore
a5c-ai/babysitter

git-integration

Git commit patterns, formats, and conventions for GSD methodology. Provides atomic commits per task, structured commit messages, planning file commits, branch management, and milestone tag operations.

514 31
Explore
a5c-ai/babysitter

frontmatter-parsing

YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts.

514 31
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results