What problem does it solve? Writing Arduino firmware for ESP32 chips often fails due to outdated v2.x APIs, chip-specific peripheral differences, and subtle initialization-order bugs. This Skill grounds every generated sketch in the real arduino-esp32 repository documentation and examples, eliminating hallucinated APIs and common pitfalls. ## Core Features & Use Cases - Scenario Recipes: Step-by-step guides with complete call chains for GPIO/interrupts, Serial/UART, I2C, SPI, LEDC/PWM, ADC, timers, Wi-Fi STA/AP, BLE (GATT/beacons), ESP-NOW, Zigbee, Matter, WebServer, OTA, Preferences/NVS, FreeRTOS tasks, and deep sleep. - Verified API Reference: Function signatures, config macros, partition tables, and chip/peripheral support matrices taken directly from docs/en/api/*.rst and library headers. - Pitfall Prevention: 12+ documented WRONG/CORRECT patterns covering v3.x LEDC migration, NetworkServer.accept(), setHostname ordering, callback thread safety, and NVS key limits. - Use Case: Ask for a BLE GATT server on an ESP32-C3 and receive a complete sketch with correct NimBLE stack handling, CCCD descriptors, and advertising setup copied from the repository's Server example. ## Quick Start Ask the AI to create an ESP32-S3 sketch that connects to Wi-Fi, reads an ADC sensor, and publishes the value over a WebServer endpoint.