بنقرة واحدة
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