Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Esp Idf Setup

FSecurity

Set up ESP-IDF development environment, create new projects, and configure build systems

76 stars
0 votes
0 copies
0 views
Added 2/8/2026
developmentshellbashgit

Security Analysis

F38/100
criticalModifies startup scripts or system services for persistence
criticalModifies startup scripts or system services for persistence
criticalSends environment variables or credentials to an external URL

Scanned 2/12/2026

Install to Claude Code

$npx -y skills add majiayu000/claude-skill-registry --skill esp-idf-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Esp Idf Setup?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Esp Idf Setup
[![Security: F — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-esp-idf-setup/badge)](https://www.skillsdirectory.com/skills/majiayu000-esp-idf-setup)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: esp-idf-setup
description: Set up ESP-IDF development environment, create new projects, and configure build systems
---

# ESP-IDF Project Setup Guide

## When to Use This Skill

Apply this skill when the user:
- Wants to set up ESP-IDF for the first time
- Needs to create a new ESP32 project
- Wants to configure CMakeLists.txt or component dependencies
- Needs help with sdkconfig or menuconfig
- Wants to add a project to the monorepo

## ESP-IDF Installation

### Automated Installation

Use the Makefile targets:
```bash
# Install ESP-IDF v5.3.2
make setup-idf

# Custom version
make setup-idf IDF_VERSION=v5.4

# Full environment setup
make setup-all
```

### Shell Configuration

After installation, add alias to shell profile (~/.bashrc or ~/.zshrc):
```bash
alias get_idf='. $HOME/repos/esp-idf/export.sh'
```

Important: Do NOT add `export.sh` directly to profile - use an alias instead.

## Creating New Projects

### Minimal Project Structure

```
new-project/
├── CMakeLists.txt
├── main/
│   ├── CMakeLists.txt
│   └── main.c
└── sdkconfig.defaults
```

### Root CMakeLists.txt

```cmake
cmake_minimum_required(VERSION 3.16)

# For monorepo: use shared components
set(EXTRA_COMPONENT_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../shared-libs")

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(new-project)
```

### Main Component CMakeLists.txt

```cmake
idf_component_register(
    SRCS "main.c"
    INCLUDE_DIRS "."
    REQUIRES driver nvs_flash esp_wifi
)
```

### sdkconfig.defaults

```ini
# Target chip
CONFIG_IDF_TARGET="esp32"

# Flash size
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y

# Partition table
CONFIG_PARTITION_TABLE_SINGLE_APP=y

# Log level
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
```

## Adding to the Monorepo

### Directory Location

Place new ESP32 projects in:
```
packages/esp32-projects/new-project-name/
```

### Create Makefile Target

Add to root Makefile:
```makefile
# New project variables
NEW_PROJECT_DIR = $(ESP32_PACKAGES_DIR)/new-project-name

# Build target
new-project-build: check-idf
	@echo "$(BLUE)Building new-project...$(NC)"
	@cd $(NEW_PROJECT_DIR) && $(IDF_ENV_CMD) && idf.py build

# Flash target
new-project-flash: check-idf
	@echo "$(BLUE)Flashing new-project...$(NC)"
	@cd $(NEW_PROJECT_DIR) && $(IDF_ENV_CMD) && idf.py flash -p $(PORT)

# Add to .PHONY
.PHONY: new-project-build new-project-flash
```

## Component Management

### Using IDF Component Manager

Create `idf_component.yml` in component directory:
```yaml
dependencies:
  # From ESP Component Registry
  espressif/led_strip: "^2.0.0"

  # From GitHub
  my_component:
    git: https://github.com/user/component.git
    version: "v1.0.0"
```

### Local Components

Place in project's `components/` directory:
```
project/
├── components/
│   └── my_component/
│       ├── CMakeLists.txt
│       ├── include/
│       │   └── my_component.h
│       └── my_component.c
└── main/
```

## Common Configuration Tasks

### Setting Target Chip

```bash
# Set target (creates fresh sdkconfig)
idf.py set-target esp32s3

# Or via Makefile
make robocar-set-target TARGET=esp32s3
```

### Menuconfig Options

```bash
idf.py menuconfig
```

Common sections:
- Serial flasher config (port, baud rate)
- Partition table
- Component config (WiFi, Bluetooth, etc.)
- FreeRTOS (tick rate, stack sizes)

### Flash Size Configuration

In sdkconfig.defaults:
```ini
# 4MB flash
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y

# 16MB flash (for ESP32-S3)
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
```

## Best Practices

1. **Use sdkconfig.defaults** - Don't commit sdkconfig, use defaults
2. **Pin ESP-IDF version** - Document which version the project requires
3. **Minimal dependencies** - Only include REQUIRES you actually use
4. **Target-specific configs** - Use `sdkconfig.defaults.esp32s3` for variants
5. **Document GPIO usage** - Create a pinout table in README

Attribution

majiayu000majiayu000
View sourceMore from majiayu000 →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284972 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

10311 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →