stm32-embedded

Generate STM32 C initialization and driver code for common peripherals.

1|Updated Apr 17, 2026
One-click install
npx skills add https://github.com/liueggy/my_mini_skills --skill stm32-embedded
Or copy as Structured Prompt for Agentโ–ผ
Please help me install this Agent Skill.
Skill: stm32-embedded
Source: https://github.com/liueggy/my_mini_skills/tree/main/stm32-embedded
Command: npx skills add https://github.com/liueggy/my_mini_skills --skill stm32-embedded

SYSTEM DOCUMENTATION & REQUIREMENTS

๐Ÿ’ก This Skill includes references (resource) components.

What problem does it solve?

Provides practical, hands-on guidance to quickly produce working STM32 C initialization code, drivers, and debugging checklists so engineers can move from symptom to fix without lengthy trial-and-error cycles.

Core Features & Use Cases

  • Peripheral code generation: Minimal, ready-to-integrate HAL/LL/bare-metal .h/.c templates for GPIO, UART, SPI, I2C, ADC, TIM/PWM, DMA, EXTI and RTC.
  • Debugging & fault isolation: Step-by-step checklists for common failures such as no UART output, interrupts not firing, DMA not transferring, and HardFault diagnosis.
  • Architecture & migration guidance: Recommendations for BSP/Drivers/Modules/App layering, RTOS integration, and migrating between HAL/LL/register-level approaches.
  • Verification practices: Initialization order, clock and pin validation, volatile/critical section hints, and minimal reproducible tests to validate hardware and software integration.

Quick Start

Ask for a HAL-based minimal UART transmit/receive example for STM32F407 including initialization, ISR/DMA options, and a concise debugging checklist.

Frequently Asked Questions about stm32-embedded

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate STM32 HAL driver code for UART transmit and receive with DMA?โ–ผ

To generate STM32 UART transmit and receive code with DMA, request a minimal HAL-based template that includes initialization sequences, interrupt service routines, and a concise debugging checklist to validate data transfer.

Why does my STM32 DMA transfer fail to start or complete?โ–ผ

STM32 DMA failures often stem from incorrect initialization order or disabled peripheral clocks, which you can isolate using a step-by-step debugging checklist covering clock validation, pin configuration, and critical section handling.

How do I debug a HardFault on STM32 microcontrollers?โ–ผ

Debugging an STM32 HardFault involves using a structured fault isolation checklist to trace register states, verify volatile critical sections, and construct minimal reproducible tests to pinpoint hardware and software integration failures.

Can I migrate STM32 peripheral code from HAL to bare-metal register-level access?โ–ผ

You can migrate STM32 peripheral code from HAL to bare-metal register-level access by following architecture guidance that outlines BSP/Drivers/Modules layering and transitioning between HAL, LL, and register-level workflows.

Does this approach support FreeRTOS integration with STM32 peripherals?โ–ผ

Yes, FreeRTOS integration with STM32 peripherals is supported through architecture guidance that covers RTOS integration alongside HAL, LL, and bare-metal workflows during development, debugging, and migration tasks.