firmware-build
arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
compound engineering のステップ。ひとつの作業のあとに短く振り返り、学んだことを CLAUDE.md・スキル・hoard に畳み込む。意味のある作業の終わりごとに使う。
実機をシリアル越しに操作して挙動を確認する。tools/deck.py で JSON Lines を投げ、人間にしかできない確認は手順書にして渡す。ビルドが通ったあと、動いたと言い切る前に使う。
git の混乱を収拾し、履歴を手術する。コミットの取り消し・書き換え、conflict の解消、reflog からの復旧、git bisect による退行の特定。
新しく分かった小技を、動く最小例として hoard/ に保存する。非自明なことを初めて解決したあとに使う。
アルゴリズムや仕組みを、単一 HTML のインタラクティブ/アニメーション付きページで説明する。文章だけでは腑に落ちないときの認知的負債の返済に使う。
自動テストの外側で実物を動かして確かめ、結果を notes/ に記録する。ホスト側は使い捨てプログラム、実機はシリアル、web はブラウザ自動化。テストが通ったあと、完了と言う前に使う。
| name | firmware-build |
| description | arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。 |
このプロジェクトは arduino-cli で開発する(Arduino IDE の GUI は使わない)。
uv run python tools/check.py compile
中身は次のコマンド。--build-path を固定しているのでキャッシュが効く
(初回 ~110 秒、以降 ~10 秒)。
arduino-cli compile --fqbn m5stack:esp32:m5stack_core2 \
--build-path build/arduino firmware/core2-deck
firmware/core2-deck/core2-deck.ino。
arduino-cli はフォルダ名と .ino 名の一致を要求するのでこの構成になっている。src/ 配下は再帰的にコンパイルされる。src/ 以外のサブフォルダは
コンパイルされない。新しいソースは必ず src/core/ か src/platform/ に置く。--fqbn に
:PSRAM=enabled,PartitionScheme=... の形で付け、README にも記録する。書き込みは勝手にやらない。 ポートを占有し、実機の状態を変える。 ユーザーが明示的に頼んだときだけ実行する。
# ポートは環境依存。まず uv run python tools/deck.py list で確認する
# Windows: COM9 など / macOS: /dev/cu.usbserial-XXXX / Linux: /dev/ttyUSB0
arduino-cli upload -p "$PORT" --fqbn m5stack:esp32:m5stack_core2 \
--input-dir build/arduino firmware/core2-deck
ポート番号は uv run python tools/deck.py list で確認する(CP210x = VID 10C4 が
Core2)。書き込み中は deck.py も arduino-cli monitor も使えない。
arduino-cli monitor -p "$PORT" -c baudrate=115200
対話的でブロックするので、エージェントから使うときは注意。tools/deck.py と
ポートを取り合うので、両方を同時に開かないこと。プロトコルの確認は
モニタではなく deck.py を使うほうが確実。
インストール済みのバージョンは arduino-cli lib list で確認できる。
バージョンを上げたら必ずビルドと実機動作を確認し、README に記録する
(仕様 §8/§14)。特に BLE HID 系のライブラリは ESP32 コアのバージョンに敏感で、
「たぶん動く」で決めてはいけない組み合わせが実在する。
新しいライブラリを入れるとき:
arduino-cli lib search <name>
arduino-cli lib install "<name>@<version>" # バージョンを明示して入れる
入れたら README の表を更新する。
undefined reference — src/ の外にソースを置いていないか確認する。arduino-cli lib list を見る。build/ を消してクリーンビルドを試す。arduino-cli cache clean。