esp-iot-solution-skill

Generates ESP-IoT-Solution firmware code using verified component APIs, recipes, and pitfalls.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-iot-solution-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-iot-solution-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-iot-solution
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-iot-solution-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developing firmware with Espressif's ESP-IoT-Solution component library requires knowing exact factory-function signatures, Kconfig symbols, bus initialization order, and chip-specific peripheral support; guessing APIs causes build failures and runtime bugs. This Skill grounds every generated snippet in the repository's real headers, docs, and examples so AI agents produce correct ESP-IDF projects. ## Core Features & Use Cases - Scenario recipes: 18 step-by-step recipes covering GPIO/ADC/matrix buttons, knobs, LED indicators (GPIO/LEDC/RGB/WS2812), I2C/SPI buses, sensor_hub, power measurement, USB host (UVC/UAC/CDC), servo and FOC motor control, touch buttons, and BLE (connection manager, OTA profile, HTP, BTHome). - Verified API and config references: Real function signatures, structs, event enums, and Kconfig symbols extracted from component headers, plus a pitfalls list with WRONG/CORRECT code pairs. - Use Case: Ask the agent to add a BOOT button with single/double/long-press callbacks on an ESP32-S3; it emits iot_button_new_gpio_device initialization, correct iot_button_register_cb argument order, dependency commands, and build/flash steps. ## Quick Start Ask the AI agent to create an ESP-IoT-Solution project for your target chip, for example: use the esp-iot-solution skill to build an ESP32-S3 firmware that reads a sensor over i2c_bus and blinks an LED indicator.

Frequently Asked Questions about esp-iot-solution-skill

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

FAQPage Schema
How do I create a GPIO button with iot_button in ESP-IDF?

Use the factory function iot_button_new_gpio_device with a button_config_t for timing and a button_gpio_config_t for gpio_num and active_level. Then register events with iot_button_register_cb, whose signature is (handle, event, event_args, callback, usr_data).

How do I add ESP-IoT-Solution components to an ESP-IDF project?

Run idf.py add-dependency "espressif/<component>" in the project root, which pulls from the ESP Component Registry into managed_components. If you copied an example, delete any override_path entries in idf_component.yml or CMake will fail.

Which chips support the usb_stream component?

usb_stream works only on ESP32-S2 and ESP32-S3 because it requires USB Host OTG hardware. UVC cameras must also support USB 1.1 full-speed with MJPEG output; other ESP32 variants cannot use this component.

Why are my iot_button callbacks not firing or losing events?

The most common causes are a wrong active_level setting and blocking calls like vTaskDelay inside the callback, which stalls the button scan timer. Keep callbacks lightweight and offload heavy work to a separate task or queue.

Does i2c_bus work with ESP-IDF v5.3 and later?

Yes, but from IDF v5.3 the component defaults to the new i2c_master driver backend, so including driver/i2c.h alongside i2c_bus.h causes type conflicts. Include only i2c_bus.h, or enable CONFIG_I2C_BUS_BACKWARD_CONFIG for the legacy driver.

When should I not use the ESP-IoT-Solution skill?

It does not cover pure ESP-IDF native API questions unrelated to ESP-IoT-Solution components, non-Espressif chips like STM32 or RP2040, or hardware-level schematic and PCB design work.