ワンクリックで
firmware-build
Build, flash, and test ESP-IDF firmware for ESP32-S3 (via Docker or native)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Build, flash, and test ESP-IDF firmware for ESP32-S3 (via Docker or native)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Full PCB verification loop using local kicad-cli (DRC + 3D render + gerbers)
Create a new Claude Code skill for this project. Use when you need to add a new skill, improve an existing skill, or convert a workflow into a reusable skill.
Verifies that every PCB pad-to-net assignment matches the manufacturer datasheet pin specifications. Use when changing board.py/routing.py/footprints.py, after GPIO remapping, before releases, or when adding new components. Automated guard against wiring errors like unconnected VBUS, wrong pin assignments, or missing GND connections.
Design intent adversary — cross-checks GPIO, nets, power chains, signal paths across firmware/schematic/PCB/datasheet sources to find lost connections and inconsistencies
Analyze a DFM report and fix all issues in the PCB generation scripts
Run DFM guard tests and add new regression tests after fixing PCB issues
| name | firmware-build |
| model | claude-opus-4-7 |
| description | Build, flash, and test ESP-IDF firmware for ESP32-S3 (via Docker or native) |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Write, Edit, Grep, Glob |
| argument-hint | ["build|flash|monitor|clean|all"] |
Build, flash, and monitor the ESP32-S3 firmware using ESP-IDF v5.4.
Argument (optional): build (default), flash, monitor, clean, or all.
$ESP_PORT (default: /dev/ttyUSB0) for flash/monitorespressif/idf:v5.4cd /Users/pierrejonnycau/Documents/WORKS/esp32-emu-turbo
docker compose run --rm idf-build
This runs idf.py set-target esp32s3 && idf.py build inside the container.
ESP_PORT=/dev/ttyUSB0 docker compose run --rm idf-flash
Flashes firmware and opens serial monitor. Requires USB device passthrough.
ESP_PORT=/dev/ttyUSB0 docker compose run --rm idf-flash idf.py -p /dev/ttyUSB0 monitor
docker compose run --rm idf-build idf.py fullclean
make firmware-build # Build
make firmware-flash # Flash + monitor
make firmware-monitor # Monitor only
make firmware-clean # Clean
The firmware validates all hardware subsystems:
| Module | File | Purpose |
|---|---|---|
| Display | software/main/display.c | ILI9488 8-bit 8080 parallel init + test pattern |
| Audio | software/main/audio.c | I2S DAC → PAM8403 speaker output |
| Input | software/main/input.c | 12 buttons + optional joystick polling |
| SD Card | software/main/sdcard.c | SPI SD card mount + file listing |
| Power | software/main/power.c | IP5306 I2C battery monitoring |
| Main | software/main/main.c | Init sequence + hardware validation loop |
All GPIO assignments are in software/main/board_config.h (source of truth for firmware).
Master GPIO mapping is in scripts/generate_schematics/config.py.
Use the firmware-sync skill to verify GPIO consistency between firmware and schematic.
software/sdkconfig.defaults — ESP-IDF project defaults (target, flash size, PSRAM)software/partitions.csv — Flash partition tablesoftware/main/idf_component.yml — IDF component dependenciessoftware/CMakeLists.txt — Top-level CMake projectsoftware/main/CMakeLists.txt — Main component sourcesFor building the Retro-Go emulator firmware:
make retro-go-build # Build all apps
make retro-go-build-launcher # Build launcher only (quick test)
make retro-go-flash # Flash + monitor
make retro-go-monitor # Serial monitor
make retro-go-clean # Clean
Uses separate compose file: docker-compose.retro-go.yml
software/main/board_config.h — GPIO pin definitionssoftware/main/main.c — Entry point and init sequencesoftware/sdkconfig.defaults — ESP-IDF configurationdocker-compose.yml — Docker service definitions (idf-build, idf-flash)Makefile — Build automation targets