AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Low Power Embedded

skill-mohitmishra786-low-level-dev-skills-low-power-embedded · by mohitmishra786

Low-power embedded skill for sleep modes and energy optimization. Use when configuring MCU sleep/stop/standby, peripheral clock gating, wake-up sources, or measuring firmware current draw. Activates on queries about WFI, STOP mode, STM32 PWR, nRF sleep, wake-up EXTI, or reducing embedded power consumption.

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add skill-mohitmishra786-low-level-dev-skills-low-power-embedded

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mohitmishra786-low-level-dev-skills-low-power-embedded)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Low Power Embedded? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Low-Power Embedded

Purpose

Guide agents through MCU low-power modes: sleep vs deep sleep (stop/standby), peripheral and bus clock gating, wake-up source configuration, and practical current measurement — with Cortex-M WFI/WFE and vendor PWR examples (STM32-focused patterns apply broadly).

When to Use

  • Battery-powered firmware missing power budget
  • Wake-up latency vs consumption tradeoffs
  • Debugging "device won't wake" or "current still mA in sleep"
  • Before shipping RTOS idle hook or bare-metal main loop sleep
  • Cross-linking with skills/baremetal/interrupts-and-exceptions-baremetal

Workflow

1. Power mode hierarchy (STM32-style)

| Mode | CPU | Peripherals | RAM | Wake source | Relative current | |------|-----|-------------|-----|-------------|------------------| | Run | on | on | on | — | highest | | Sleep | off | on | on | any IRQ | medium | | Stop | off | most off | on | EXTI, RTC, UART | low | | Standby | off | off | lost* | WKUP pins, RTC | lowest |

\* Standby clears most SRAM; use backup domain or external EEPROM for state.

2. Enter Sleep (WFI)

/* Cortex-M — sleep until interrupt */
__disable_irq();
/* configure wake source (e.g. EXTI, RTC alarm) */
__enable_irq();
__WFI(); /* or __WFE() for event-based wake */

Ensure pending interrupts are cleared before WFI or wake may be immediate.

3. STM32 Stop mode pattern

#include "stm32f4xx.h"

void enter_stop_mode(void)
{
    /* Gate clocks you do not need */
    RCC->AHB1ENR &= ~RCC_AHB1ENR_GPIOAEN; /* example — only if safe */

    PWR->CR |= PWR_CR_CWUF;   /* clear wake flags */
    PWR->CR |= PWR_CR_PDDS;   /* deep sleep = Stop */
    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;

    __WFI();

    /* After wake: re-enable HSE/PLL — clocks lost in Stop on many parts */
    SystemInit();
}

After Stop, re-init clocks and peripherals that lost their registers.

4. Clock gating checklist

Before sleep
├── Disable unused peripheral clocks (RCC xENR)
├── Disable ADC/DAC continuous modes
├── Stop DMA channels
├── Enter peripheral low-power (UART mute, SPI off)
└── Configure lowest viable regulator scale (Voltage Scale 2/3)

5. Wake-up sources

| Source | Config | |--------|--------| | EXTI GPIO | SYSCFG + EXTI IMR, edge trigger | | RTC alarm | RTC WUT/WAKEUP | | UART | Start bit detection (some MCUs) | | IWDG | Not a wake source — resets device |

6. Measurement tips

  • Use ammeter in series with VDDA/VDD; short sampling window for uA
  • DWT cycle counter for wake latency benchmarking
  • Compare run vs sleep current with same clock tree documented

7. RTOS note

FreeRTOS configUSE_TICKLESS_IDLE maps to WFI/Stop — coordinate with skills/embedded/freertos.

8. Agent usage

/low-power-embedded Configure STM32 Stop mode with EXTI0 wake and PLL restore

Common Problems

| Symptom | Cause | Fix | |---------|-------|-----| | Still mA in "sleep" | Debug interface active (SWD) | Disconnect debugger; disable DBGMCU | | Immediate wake from WFI | Pending NVIC IRQ | Clear flags before WFI | | Lost state after wake | Entered Standby not Stop | Use Stop if RAM must persist | | UART dead after wake | Clock tree not restored | Call SystemInit() path | | Higher than datasheet uA | Floating GPIO | Set unused pins analog or pull |

Related Skills

  • skills/baremetal/interrupts-and-exceptions-baremetal — EXTI wake IRQs
  • skills/baremetal/gpio-baremetal — pin mode for leakage control
  • skills/baremetal/stm32-baremetal — RCC and PWR registers
  • skills/baremetal/timers-pwm-baremetal — stop timers before sleep
  • skills/embedded/freertos — tickless idle integration

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.