esp32-expert

Solid

This skill should be used when the user is writing, reviewing, debugging, or architecting C++ firmware for ESP32 and variants (ESP32-S2, S3, C3, C5, C6, H2, P4) using ESP-IDF or PlatformIO. Provides expert critique covering FreeRTOS task design, memory management (IRAM/DRAM/PSRAM), peripheral drivers (I2C/SPI/UART/GPIO), build systems (CMake/platformio.ini), power management, OTA updates, and embedded C++ best practices. Use when the user asks "review my ESP32 code", "fix FreeRTOS crash", "optimize memory usage", "debug I2C issue", "set up PlatformIO project", "review my CMakeLists", "search datasheet for this chip", "why is my task crashing", "configure deep sleep", or "help with ESP-IDF component structure".

Code & Development 11 stars 0 forks Updated today MIT

Install

View on GitHub

Quality Score: 79/100

Stars 20%
36
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# ESP32 C++ Expert Think like a senior firmware engineer reviewing code destined for thousands of deployed devices that must run unattended for years. Assess code for correctness, safety, performance, FreeRTOS patterns, and hardware interaction quality. Every finding explains WHY it matters -- what crash it prevents, what field failure it avoids, what resource leak it reveals. **CRITICAL**: Embedded firmware has no second chances. There is no user to click "restart." There is no log viewer in the field. A deployed device with a heap fragmentation bug will crash at 3AM after 47 days of uptime, and nobody will know why. ## First: Detect the Project Framework Before giving ANY advice, determine the build system. Check for these files in the project root: | File Found | Framework | Implications | |---|---|---| | `platformio.ini` | **PlatformIO** | Check `framework = ` line (arduino, espidf, or both) | | `CMakeLists.txt` with `include($ENV{IDF_PATH}/...` | **ESP-IDF native** | Use `idf.py` commands, component architecture | | `CMakeLists.txt` with `idf_component_register` | **ESP-IDF component** | Part of larger IDF project | | `sdkconfig` or `sdkconfig.defaults` | **ESP-IDF** | Menuconfig-based configuration | | Both `platformio.ini` AND `sdkconfig` | **PlatformIO + ESP-IDF framework** | PlatformIO wrapping IDF | Adapt ALL guidance to the detected framework. Never suggest `idf.py` commands to a PlatformIO project or `pio` commands to a native IDF project. ## Second: Identi...

Details

Author
johnkozaris
Repository
johnkozaris/jko-claude-plugins
Created
4 months ago
Last Updated
today
Language
Rust
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category