技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
esp32-development【数据与研究】Build, configure, flash, test, debug, and recover firmware for ESP32-family boards, including ESP-IDF C/C++, Arduino/PlatformIO, MicroPython, CircuitPython, ESPHome, Zephyr, Rust, and NuttX. Use when identifying an ESP32 board, choosing a framework, wiring GPIO or peripheral buses, integrating sensors or actuators, diagnosing serial/boot/power/networ…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Treat the board, attached circuit, firmware, and host toolchain as one system. An ESP32 task is complete only when the intended behavior is observed at the hardware boundary, not when compilation or flashing alone succeeds.
Complete this gate before drafting a non-trivial plan or recommendation:
source-index.md is navigation, not evidence; retrieve the exact chip/current-version page or mark the claim UNKNOWN.usually, typical, or some modules; state what the observed label does not establish.UNKNOWN.python3 scripts/esp32-preflight.py
python3 scripts/esp32-preflight.py --json
pio device list --json-output # when PlatformIO is installed
mpremote connect list # when mpremote is installed
The preflight script does not open serial ports. A USB descriptor can identify a bridge or board family, but it does not prove the chip is in download mode or that a firmware-specific protocol is active. Read decisions and preflight before probing an unknown board.
| Need | Read first |
|---|---|
| Identify board, host, port, transport, or framework | decisions and preflight |
| Select safe pins, power, protection, pull-ups, or level shifting | hardware and electrical safety |
| Choose ESP-IDF, Arduino, MicroPython, CircuitPython, ESPHome, Zephyr, Rust, or NuttX | firmware frameworks |
| Create, build, flash, monitor, test, or debug using native CLIs | native tool workflows |
| Use GPIO, ADC, DAC, PWM, touch, I2C, SPI, UART, I2S, RMT, PCNT, TWAI/CAN, or USB | peripherals and buses |
| Integrate a sensor, display, LED, relay, motor, servo, solenoid, or other load | sensors, actuators, and calibration |
| Add Wi-Fi, BLE, ESP-NOW, Zigbee/Thread, sleep, OTA, or production power behavior | connectivity, power, and OTA |
| Diagnose boot, flashing, crashes, brownouts, buses, networking, or security state | debugging, recovery, and security |
| Automate target tests, commission a bench, inject faults, or run a bounded feedback loop | hardware test automation |
| Refresh a command or version-sensitive claim | source index |
templates/hardware-bringup.md and record the exact source for every pin and voltage decision.scripts/esp32-preflight.py; then use the selected framework's own board list and project generator.Read references/hardware-test-automation.md and fill templates/hardware-test-plan.md when automation is in scope. Bind requirements to independent observations, reserve shared hardware, commission the fixture, and freeze acceptance cases before changing firmware. Native test fixtures can flash/reset devices during setup. Keep product failures, fixture errors, missing evidence, and passes separate; preserve every attempt. Stop on unsafe state, identity or ownership loss, unconfirmed cleanup, or the recorded budget limit. A green log or host suite does not prove physical behavior.
templates/hardware-bringup.md — board, power, pin, component, and recovery worksheet.templates/hardware-test-plan.md — requirement/test mapping, commissioning, fault injection, evidence, and cleanup record.templates/component-contract.md — datasheet-led sensor or actuator integration record.templates/esp-idf-main.c — small ESP-IDF GPIO task with explicit configurable pins.templates/platformio.ini — minimal PlatformIO environment with explicit board/framework and version-pinning placeholders.templates/micropython-i2c-scan.py — configurable I2C electrical/identity probe.templates/esphome-device.yaml and templates/esphome-secrets.yaml.example — safe ESPHome bring-up configuration with external secrets and explicit framework choice.templates/zephyr-esp32.overlay — minimal devicetree GPIO/I2C overlay pattern.scripts/esp32-preflight.py — dependency-free, non-mutating host/tool/port classifier; run --self-test for its deterministic check.Do not use this skill alone for PCB layout certification, RF/antenna design, mains-voltage work, functional-safety certification, medical devices, or a component whose authoritative datasheet is unavailable. Escalate those tasks to the appropriate electrical, RF, safety, or compliance discipline. For a non-ESP32 target, use that platform's own skill and tooling.
The exact target and sources are recorded; electrical limits and pin choices are justified; the native build and flash tools complete without unexplained errors; logs show the intended image booted; each bus or device passes an identity-level check; calibrated behavior is observed at the physical boundary; and reset, power-cycle, and recovery behavior match the requested deployment mode.