ドキュメント一覧

ESP32-S3にファームウェアを書き込む

Arduinoのツールチェーンを準備して、ボードに書き込む。

書き込み中はボードをMacに接続します。充電専用ではなく、データ通信に対応したUSBケーブルを使ってください。

ツールと依存関係を準備する

arduino-cliの公式手順でCLIをインストールし、Espressifのボードパッケージ索引を設定します。プロジェクトが指定するのはESP32 3.3.xです。以下の3.3.12は、確認した上流CIと同じバージョンです。

arduino-cli config add board_manager.additional_urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
arduino-cli core update-index
arduino-cli core install esp32:[email protected]
arduino-cli lib install "[email protected]"

同じ索引を設定済みの場合、重複して追加する必要はありません。ソースを更新するときはREADMEとビルド設定の依存バージョンも確認してください。

ビルドして書き込む

クローンしたプロジェクトのルートで実行します。

hardware/flash.sh

スクリプトはコンパイル後にポートを探し、動作中のブリッジをブートローダーに切り替えて書き込みます。アップロード成功を確認してから取り外してください。

既定の構成は8 MB Flash、OPI PSRAM、ネイティブUSBです。別のボードを使う場合は対応条件を確認してください。

ポートを指定する

arduino-cli board list
hardware/flash.sh /dev/cu.usbmodemYOUR_PORT

YOUR_PORTは実際に表示された値に置き換えます。ボードが見つからない場合は、ケーブルと接続を確認し、必要に応じてメーカーの手順でブートローダーに入ってください。

flash.shを使う理由

このスクリプトはhardware/hid_bridge/nimble_cfg.hを強制的に読み込み、BLE映像転送のバッファを設定します。Arduinoの標準設定でコンパイルできても、映像経路に適切な構成とは限りません。

また、強制インクルードの指定方法により、プロジェクトのパスに空白を含めることはできません。スクリプト側でも確認されます。

診断用のオプション

hardware/flash.sh --build-only
hardware/flash.sh --debug

--build-onlyは書き込まずにビルドだけを実行し、--debugはUSBシリアルの診断情報を有効にします。通常の導入で両方を順に実行する必要はありません。

次に確認すること

ボードをiPhoneに接続して、Bluetooth、Wi-Fi、画面ミラーリングを確認します。書き込み成功だけでは通信の動作確認にはならないため、接続ガイドへ進んでください。

プロジェクトの参照元

README.mdhardware/flash.sh.github/workflows/ci.yml