embedded-dev

Guides firmware development, driver configuration, and hardware debugging for ESP32, STM32, RP2040, and nRF52 microcontrollers.

Updated Sep 3, 2024
One-click install
npx skills add https://github.com/eminboydak/duckTerm --skill embedded-dev-eminboydak
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: embedded-dev
Source: https://github.com/eminboydak/duckTerm/tree/main/.agents/skills/embedded-dev
Command: npx skills add https://github.com/eminboydak/duckTerm --skill embedded-dev-eminboydak

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires opencv-python, numpy, pyserial, and includes scripts (resource) and references (resource) components.

What problem does it solve? Embedded firmware development involves error-prone driver configuration, DMA buffer constraints, hardware debugging, and verification loops that AI assistants often skip or get wrong. This Skill enforces a compile-flash-monitor verification workflow and provides chip-specific references so generated code actually works on real hardware. ## Core Features & Use Cases - Multi-chip driver development: Configuration templates for SPI, I2C, UART, GPIO, ADC, and PWM on ESP32, STM32, RP2040, and nRF52, with hard constraints like the ESP32-S3 SPI DMA 4092-byte limit built in. - Enforced verification gate: An Iron Law workflow requiring build, flash, and serial monitor evidence before any completion claim, plus red-flag checklists and a two-stage review (hardware spec + MISRA C). - Hardware debugging toolkit: Serial monitor scripts with ESP-IDF log parsing, camera-based LCD visual feedback, 6 real-world case studies, and a 20-question FAQ for fast troubleshooting. - Use Case: Ask the agent to configure an ST7789 LCD over SPI on ESP32-S3; it loads chip references, generates the driver with chunked DMA transfers, compiles and flashes the firmware, then verifies the display via camera capture. ## Quick Start Ask the agent to configure an ST7789 LCD driver on ESP32-S3 and verify it with a build-flash-monitor cycle.

Frequently Asked Questions about embedded-dev

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

FAQPage Schema
How do I configure an SPI LCD driver on ESP32-S3?

Load the chip and hardware-interface references, generate the driver with DMA transfers chunked to 4092 bytes or less, then run idf.py build, flash, and monitor to verify. Camera capture scripts provide visual confirmation of the display output.

Which microcontrollers does this embedded skill support?

It supports ESP32 (S3, C3, C6, H2), STM32 (F4, F7, H7, L4, U5), RP2040 (Pico, Pico 2), and nRF52 (52832, 52840). Each family has framework guidance for ESP-IDF, STM32Cube, Pico SDK, or nRF5 SDK.

Does this skill work with OpenCode or only Pi Coding Agent?

Both platforms are fully supported. Pi uses TypeScript extensions for image reading, todos, and builds, while OpenCode uses built-in tools plus an optional Python MCP server providing embedded_build and embedded_diagnose tools.

Why does my ESP32-S3 SPI transfer corrupt large frames?

ESP32-S3 SPI DMA limits a single transfer to 4092 bytes, and exceeding it causes frame corruption. Split the payload into chunked transfers of 4092 bytes or less, as shown in the DMA overflow example.

How do I debug a blank LCD after flashing firmware?

Check the monitor output for SPI initialization errors, verify pin assignments and backlight GPIO levels, and confirm the MADCTL and gap values match your panel. The FAQ and debugging reference cover the full checklist.

What Python dependencies do the helper scripts need?

The scripts require opencv-python, numpy, and pyserial, installed via pip install -r scripts/requirements.txt. A PowerShell serial monitor fallback exists for Windows when Python is unavailable.