esp32-project-init

Initialize ESP32 embedded projects with ESP-IDF structure, CMake configuration, and build setup.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/gmackie/agent-skills --skill esp32-project-init-gmackie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: esp32-project-init
Source: https://github.com/gmackie/agent-skills/tree/main/skills/esp32-project-init
Command: npx skills add https://github.com/gmackie/agent-skills --skill esp32-project-init-gmackie

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up a new ESP32 project requires correctly sourcing the ESP-IDF environment, creating the project skeleton, selecting the target chip, and wiring up CMake files, which is error-prone when done manually. ## Core Features & Use Cases - Project Scaffolding: Creates a new ESP-IDF project with the standard components and main directory layout. - Target Configuration: Sets the target chip (esp32, esp32s2, esp32s3, esp32c3) and generates root and component CMakeLists.txt files. - Build and Flash Workflow: Guides building, flashing over a serial port, and monitoring output, with troubleshooting for common environment and permission errors. - Use Case: A developer starting an IoT sensor firmware project can scaffold a working hello-world application, set the esp32s3 target, and flash it to a connected board in one guided flow. ## Quick Start Create a new ESP32 project named sensor_node targeting the esp32 chip and build it with ESP-IDF.

Frequently Asked Questions about esp32-project-init

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

FAQPage Schema
How do I create a new ESP32 project with ESP-IDF?▼

Source the ESP-IDF environment with . $HOME/esp/esp-idf/export.sh, then run idf.py create-project <project_name>. After that, set the target chip with idf.py set-target esp32 and build with idf.py build.

How to set the target chip for an ESP32 project?▼

Run idf.py set-target followed by the chip name, such as esp32, esp32s2, esp32s3, or esp32c3, from the project root. If a build fails after changing targets, run idf.py fullclean and rebuild.

Which ESP32 chips does ESP-IDF project setup support?▼

The setup flow supports esp32, esp32s2, esp32s3, and esp32c3 targets. You select the chip during initialization with idf.py set-target before building the firmware.

Why does idf.py fail with ESP-IDF not found?▼

This happens when the ESP-IDF environment variables are not loaded in the current shell. Fix it by sourcing the export script with . $HOME/esp/esp-idf/export.sh before running any idf.py commands.

Why do I get port permission denied when flashing ESP32?▼

Flashing fails with permission errors when your user lacks access to the serial device. On Linux, add your user to the dialout group; on macOS, check that the USB serial drivers are installed and the correct /dev/cu.usbserial port is used.