10 skills · 1 category
Claude Code skills for ESP32 and Arduino
Microcontroller skills for ESP32 and Arduino firmware: FreeRTOS tasks, low-power modes, MQTT, serial protocols, over-the-air updates and embedded Rust.
Start with these
- 1
ESP32 Firmware
Wi-Fi that reconnects, partitions that still fit
Claude pins the chip target and ESP-IDF version, keeps configuration in sdkconfig.defaults, writes Wi-Fi code that logs disconnect reasons and retries with backoff, sizes partition tables with OTA headroom, and versions NVS settings. It flags strapping pins and brownout causes before blaming code, and refuses to burn eFuses for secure boot or flash encryption without explicit sign-off.
- 2
Firmware OTA Updates
Updates that survive power cuts and bad builds
Claude designs OTA so a device always boots something that works: A/B slots, bootloader signature checks, anti-downgrade rules, and a self-test that must pass before the image is confirmed. It writes the confirm and rollback code for ESP-IDF and MCUboot, generates release manifests, runs a power-cut test matrix, and plans staged rollouts with numeric halt gates.
- 3
Arduino Projects
Sketches that never block and never cook a pin
Claude writes Arduino sketches as small non-blocking tasks driven by millis(), debounces inputs, keeps ISRs to a flag, and avoids heap fragmentation on 2 KB AVRs. Before any wiring advice it checks logic voltage and per-pin current, insists on drivers and flyback diodes for inductive loads, and builds with arduino-cli using pinned core and library versions.
All 10 ESP32 and Arduino skills
Grouped by category. Each card opens the full playbook, example prompts and install commands.
Embedded & IoT 10
ESP32 Firmware
Wi-Fi that reconnects, partitions that still fit
Claude pins the chip target and ESP-IDF version, keeps configuration in sdkconfig.defaults, writes Wi-Fi code that logs disconnect reasons and retries with backoff, sizes partition tables with OTA headroom, and versions NVS settings. It flags strapping pins and brownout causes before blaming code, and refuses to burn eFuses for secure boot or flash encryption without explicit sign-off.
Firmware OTA Updates
Updates that survive power cuts and bad builds
Claude designs OTA so a device always boots something that works: A/B slots, bootloader signature checks, anti-downgrade rules, and a self-test that must pass before the image is confirmed. It writes the confirm and rollback code for ESP-IDF and MCUboot, generates release manifests, runs a power-cut test matrix, and plans staged rollouts with numeric halt gates.
Arduino Projects
Sketches that never block and never cook a pin
Claude writes Arduino sketches as small non-blocking tasks driven by millis(), debounces inputs, keeps ISRs to a flag, and avoids heap fragmentation on 2 KB AVRs. Before any wiring advice it checks logic voltage and per-pin current, insists on drivers and flyback diodes for inductive loads, and builds with arduino-cli using pinned core and library versions.
Low-Power Firmware
Measured microamps, not datasheet wishes
Claude builds a per-state power budget from profiler measurements, computes average current and battery life with derating and self-discharge, and attacks the biggest consumer first, usually radio time. It hunts hidden drains such as regulator quiescent current, always-on dividers, floating pins and attached debug probes, and picks sleep modes and wake sources per MCU.
STM32 HAL Firmware
CubeMX projects that survive regeneration and real traffic
Claude treats the .ioc as the source of truth, keeps user code inside USER CODE blocks, and verifies the clock tree on a pin. Peripherals run on interrupts or DMA with error callbacks that recover, NVIC priorities are tabulated against the FreeRTOS syscall ceiling, and a bundled map-file script shows exactly where flash and RAM went.
Embedded Rust
no_std firmware with one owner per peripheral
Claude sets up no_std firmware with the right target triple, pinned toolchain, probe-rs runner and defmt logging, then structures concurrency as embassy tasks that own their peripherals and talk over channels. Drivers are written generically over embedded-hal 1.0 and tested on the host with mocks, memory stays static with heapless and StaticCell, and release builds are checked for size and stack headroom.
Serial Protocols
Capture the bus before blaming the firmware
Claude treats serial bus failures as physical-layer problems first: it checks ground, voltage levels and wiring, sizes I2C pull-ups from the spec's rise-time and sink-current limits with a bundled calculator, checks UART baud error per divisor scheme, and reads decoded logic analyzer captures against the datasheet before touching driver code.
FreeRTOS Tasks
Tasks that block, ISRs that defer, stacks that fit
Claude designs FreeRTOS systems from a task table of triggers, deadlines and priorities, picks the right primitive per data path (task notifications, queues, stream buffers, mutexes), keeps ISRs to capture-and-notify, and sizes stacks from measured high-water marks with overflow hooks enabled. It diagnoses starvation, priority inversion, deadlocks and ISR priority asserts systematically.
MQTT for IoT
Topics, QoS and ACLs that scale past ten devices
Claude designs MQTT systems from a message catalog: one topic scheme with the device ID in a fixed level, a stated QoS and retain choice per message, retained status driven by last will, and commands with expiry and idempotency. It configures Mosquitto or EMQX with TLS, per-device credentials and ACL patterns, and proves isolation with explicit denial tests.
Zephyr RTOS
Devicetree and Kconfig without the guesswork
Claude sets up a pinned west workspace, describes hardware in board overlays instead of C constants, enables the minimal Kconfig set, and uses DT-spec driver APIs with readiness checks. When builds or devices fail it reads the generated zephyr.dts and .config first, then fixes compatibles, status, or dependencies. Logic is tested on native_sim with twister.
Install
Every ESP32 and Arduino skill in one command
Installs into ~/.claude/skills/. Add --project after -- to install into the current repository.
curl -fsSL https://claudeskills.page/install.sh | sh -s -- esp32-firmware firmware-ota arduino-projects low-power-firmware stm32-hal embedded-rust serial-protocols freertos-tasks mqtt-iot zephyr-rtos ESP32 and Arduino skills FAQ
What is the best Claude Code skill for ESP32 and Arduino?
Start with ESP32 Firmware: Wi-Fi that reconnects, partitions that still fit. Then add Firmware OTA Updates and Arduino Projects, which cover the next most common ESP32 and Arduino requests.
How do I install all 10 ESP32 and Arduino skills at once?
Pass every name to the installer in one command: curl -fsSL https://claudeskills.page/install.sh | sh -s -- esp32-firmware firmware-ota arduino-projects low-power-firmware stm32-hal embedded-rust serial-protocols freertos-tasks mqtt-iot zephyr-rtos. Add --project to install them into the current repository's .claude/skills/ folder so your team gets them too.
Do these ESP32 and Arduino skills work outside Claude Code?
Yes. Each skill uses only the portable Agent Skills frontmatter, so the same folder works on claude.ai, through the Claude API and in the Agent SDK. Skills that run bundled scripts need an environment with code execution.