⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
atmega328p-nano
Firmware development for the Arduino Nano (A000005, ATmega328P @ 16 MHz, 5 V) — its 30 KB usable flash, 2 KB SRAM, 1 KB EEPROM, 8-channel 10-bit ADC, six 8-bit PWM pins across three timers, UART shared with the USB-serial chip, I2C on A4/A5, SPI on D10–D13, sleep modes, and the Arduino AVR core + PlatformIO setup around them. Use when working on this board or any ATmega328P Nano clone (FTDI or CH340 USB): project setup, platformio.ini, old-vs-new bootloader uploads, pin mapping, A6/A7 restrictions, timer/Servo/tone conflicts, the 2 KB SRAM budget, analog references, powering from VIN, ICSP recovery, or debugging why something on the board does not work.
Use with your AI agent
Open your project in any AI assistant that can read your files. Works with ChatGPT, Claude, Claude Code, Codex, Cursor, Hermes Agent, OpenClaw, Grok Bot, and more.
Download SKILL.mdYour agent needs access to this page’s linked instructions and your project files. Copying does not install or execute anything.
// RATINGS
// README
mcu-skills — Claude Code Skills for Microcontrollers (MCU)
Claude Code skills for MCU firmware development on STM32, ESP32, ESP8266, RP2040 / RP2350,
nRF52 and AVR boards. These are Agent Skills
(SKILL.md) for embedded development — one skill per board, holding the board-specific knowledge
that is otherwise scattered across a datasheet, a reference manual, a schematic and a weekend of
debugging.
A good MCU skill answers, without the model guessing: which pin does what, which clock tree actually works, which HAL call silently does nothing, and how to get a build onto the chip.
Skills in this repo
| Skill | Board | MCU | Image |
|---|---|---|---|
stm32h750-weact | WeAct Studio MiniSTM32H7xx core board | STM32H750VBT6 (Cortex-M7) | |
stm32f411-blackpill | WeAct Studio "Black Pill" V3.x (and clones) | STM32F411CEU6 (Cortex-M4F) | |
esp32c6-lcd147 | Waveshare ESP32-C6-LCD-1.47 | ESP32-C6FH4 (RISC-V) | |
esp32c6-touch-lcd147 | Waveshare ESP32-C6-Touch-LCD-1.47 | ESP32-C6FH8 (RISC-V) | |
esp32c3-oled042 | ESP32-C3 0.42" OLED (ABRobot / 01Space) | ESP32-C3FH4 (RISC-V) | |
esp32-wroom-30pin | 30-pin ESP32 devkit (DOIT V1 / CH340 Type-C) | ESP32-D0WDQ6 (Xtensa LX6) | |
esp32-wroom-36pin | 36-pin ESP32 devkit (original DOIT DevKit V1) | ESP32-D0WDQ6 (Xtensa LX6) | |
esp32-wroom-38pin | 38-pin ESP32 devkit (DevKitC V4 / NodeMCU-32S) | ESP32-D0WDQ6 (Xtensa LX6) | |
esp32s3-cam-40pin | 40-pin ESP32-S3 CAM board (Freenove FNK0085 / clones) | ESP32-S3-WROOM-1 N8R8/N16R8 (Xtensa LX7) | |
esp32s3-rlcd42 | Waveshare ESP32-S3-RLCD-4.2 (SKU 33298 / 33507) | ESP32-S3-WROOM-1-N16R8 (Xtensa LX7) | |
esp32p4-jc-m3-dev | Guition JC-ESP32P4-M3-DEV | ESP32-P4NRW32 (2× RISC-V) + ESP32-C6 | |
esp32p4-jc4880p443 | Guition JC4880P443C_I_W, 4.3" 480×800 touch display | ESP32-P4NRW32 (2× RISC-V) + ESP32-C6 | |
esp8266-nodemcu-30pin | 30-pin NodeMCU devkit (DevKit V1.0 / Amica, LoLin V3) | ESP8266EX (ESP-12E/F, Tensilica L106) | |
nrf52840-promicro | ProMicro nRF52840 V1940 (nice!nano v2 clone / SuperMini) | nRF52840 QIAA (Cortex-M4F) | |
atmega328p-nano | Arduino Nano (A000005) | ATmega328P (AVR 8-bit) | |
atmega32u4-beetle | Beetle / CJMCU "Mini Arduino Leonardo" | ATmega32U4 (AVR 8-bit, native USB) | |
lgt8f328p-minievb | LGT8F328P-LQFP32 MiniEVB, Nano-style 30-pin (silkscreen LGTBF32BP) | LGT8F328P (Logic Green LGT8XM, AVR-compatible) | |
rp2040-pico | Raspberry Pi Pico (SC0915, and Pico H) | RP2040 (2× Cortex-M0+) | |
rp2350a-weact | WeAct Studio RP2350A Core Board (V1.0 and V2.0) | RP2350A (2× Cortex-M33) | |
beu1000-evuba | Baikal Electronics EVU-BA-2.1 | BE-U1000 (3× RISC-V: 2× BR-350, BM-310) |
Install
As a Claude Code plugin
The repo is a plugin marketplace with one plugin per board. Inside Claude Code:
/plugin marketplace add alexex1993/mcu-skills
/plugin install stm32h750-weact@mcu-skills
Plugin names match the skill names in the table above. Or install from a clone with the scripts below.
macOS / Linux
git clone https://github.com/alexex1993/mcu-skills.git
cd mcu-skills
./scripts/install.sh --list
./scripts/install.sh stm32h750-weact # symlink into ~/.claude/skills
./scripts/install.sh stm32h750-weact --copy # or copy, if you want to edit locally
./scripts/install.sh --list # result
Windows
git clone https://github.com/alexex1993/mcu-skills.git
cd mcu-skills
.\scripts\install.ps1 --list
.\scripts\install.ps1 stm32h750-weact # junction into ~\.claude\skills
.\scripts\install.ps1 stm32h750-weact --copy # or copy, if you want to edit locally
.\scripts\install.ps1 --list # result
Then in Claude Code the skill loads by itself when you work on that board, or on demand:
/stm32h750-weact
Project-scoped install instead of user-scoped: copy the skill directory to .claude/skills/
inside your firmware project.
Layout
skills/<family>/<skill-name>/ one skill, ready to copy into ~/.claude/skills
SKILL.md frontmatter + the load-bearing knowledge
reference/ deep detail, read on demand
template/ a project that actually builds
assets/ photos of the board, pinout images
.claude-plugin/marketplace.json plugin marketplace, one plugin per skill
docs/ how to author and review a skill
templates/skill-template/ blank skeleton to start from
scripts/ install.sh / install.ps1, validate.sh / validate.ps1
Every skill has an assets/ directory for pictures of the physical board — a top shot, a
bottom shot with a readable silkscreen, a pinout diagram. Photos can be uploaded into IMAGE.md
skills/rp2/rp2040-pico/assets/
IMAGE.md
Families: stm32, esp32, esp8266, rp2, nrf, avr, baikal.
Add a new directory if yours does not fit — one level, family name only, no vendor nesting.
Skill directory name == the name: in its frontmatter, and it must be unique across the whole
repo: installed skills all land in one flat ~/.claude/skills/ namespace.
Contributing
The short version: find the spec, build a hello world that runs on real hardware, then write the skill from what you learned. Full pipeline in CONTRIBUTING.md, authoring detail in docs/AUTHORING.md, review bar in [docs/CHECKLIST.md](docs/CHECK
// HOW IT'S BUILT
KEY FILES