mcpField
S
stm32-hal-development

stm32-hal-development

github.com/leokemp223Development1.0k274 installsUpdated 10w ago
Repository

About stm32-hal-development

A development skill for CubeMX-based STM32 projects, guiding peripheral configuration, code generation, and application or BSP work. It emphasizes hardware constraints, interrupt safety, and avoiding edits to generated code that belong in the `.ioc` configuration.

Key features

  1. 01Follows a CubeMX project workflow
  2. 02Keeps custom code in USER CODE regions
  3. 03Uses peripheral and HAL references as needed
  4. 04Reuses BSP template files
  5. 05Prioritizes interrupt and regeneration safety

Use cases

  1. 01Add application logic to an STM32 project
  2. 02Develop sensor or bus drivers
  3. 03Create a new BSP module
  4. 04Maintain CubeMX-generated projects safely

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/leokemp223/embed-ai-tool --skill stm32-hal-development

After installing, type/stm32-hal-developmentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
assets/
bsp-template.c
bsp-template.h
references/
core-guidelines.md
hal-quick-reference.md
overview.md
peripheral-driver-guide.md
troubleshooting-guide.md
usage-examples.md

Details

From the project README

STM32 HAL Development

Treat this skill as the working playbook for CubeMX-based STM32 projects.

Workflow

  1. Read references/core-guidelines.md first.
  2. Keep all custom code inside USER CODE regions unless the project has an explicit non-CubeMX extension point.
  3. Configure peripherals in CubeMX, regenerate code, then add application or BSP logic.
  4. Read additional references only as needed:
  5. Reuse assets/bsp-template.c and assets/bsp-template.h when starting a new BSP module.

Notes

  • Prioritize hardware constraints, interrupt safety, and regeneration safety over local code convenience.
  • Do not modify CubeMX-generated initialization files directly when the same change belongs in the .ioc configuration.

Comments

Markdown supported