ブログ
ESP32 が Board Manager に出てこないときの対処法
ESP32 が Board Manager に出てこない、一覧が空っぽ、間違ったボードが選択されてしまう。そんなときに試す5分でできる対処法を、順番にまとめました。
ESP32 が Board Manager で見つからないのはなぜ?
それはつまり、パッケージが一度もインストールされていないということです。Board Manager が表示できるのは、設定した URL に含まれるパッケージだけなので、まず File → Preferences → Additional Boards Manager URLs を確認してください。そこに https://dl.espressif.com/dl/package_esp32_index.json が入っていれば OK。フィールドが空なら貼り付けて、Board Manager を開き直します。URL はあるのに検索結果が空の場合は、インデックスのダウンロードに失敗しています。やり直すか、手動の ZIP インストールを使いましょう。私もかつて丸一日これに付き合わされたことがありますが、原因は古いインストールの残骸であるパッケージキャッシュでした。%LOCALAPPDATA%Arduino15 配下のキャッシュを削除して入れ直したら直りました。とはいえ10回中9回は、URL が入っていないのがすべての原因です。
Arduino IDE に ESP32 をインストールするには?
Preferences で Espressif の JSON の URL を貼り付け、Boards Manager で esp32 と検索して「esp32 by Espressif Systems」をインストールします。見た目が似たサードパーティ製も出てきますが、Espressif 公式のものを選んでください。その後、IDE を再起動します。ボード一覧は再起動時にパッケージを読み込むので、この手順こそ「まだ出てこない」という報告のほぼすべてで飛ばされているステップです。
Arduino IDE に ESP32 を追加するには?
ボードを追加するのは、パッケージをインストールするのと同じ操作です。言葉が違うだけで中身は一緒。それなのにボードが表示されない場合は、Boards Manager からアンインストールして、再起動して、入れ直してください。パッケージは小さいので、5分でできる再インストールの方が、1時間も探し回るより確実です。
Arduino IDE で ESP32 はどのボードを選べばいい?
一般的な ESP32 開発ボード(WROOM-32、WROOM-32D、DevKitC)なら「ESP32 Dev Module」を選びます。これが安全なデフォルトで、4MB ボード向けのクロックとフラッシュ設定が正しく入ります。S3、C3、S2 にはそれぞれ専用のエントリがあり、ファミリーを間違えるとコンパイルは通っても、書き込み時に esptool がチップ不一致のエラーを出して失敗します。
Arduino IDE に ESP32 が表示されないのはなぜ?
「表示されない」と呼ばれる問題には、正反対の対処法を持つ2種類があります。Tools → Board でボード自体が無いのはパッケージの問題なので、上のインストール解説を参照してください。ボードはあるのにポート一覧が空の場合は、ドライバかケーブルの問題です。CH340 や CP2102 はベンダードライバが必要ですし(特に Windows)、充電専用ケーブルは電気は通してもデータは通りません。デバイスマネージャーに表示されないならケーブルかドライバ、表示されるのに Arduino のポートに出ないならドライバの間違いか競合です。ポート側の問題は誤診されやすい部分で、みんなボードのパッケージを入れ直しますが、実はケーブルが原因だったというのがよくあるパターンですね。
Arduino で ESP32 を選ぶとき何を選べばいい?
標準的なボードなら「ESP32 Dev Module」、S3・C3・S2 は正確なバリアントを選びます。Flash サイズ、PSRAM、パーティション構成も同じメニューにありますが、デフォルトのままで大半のスケッチは問題なく動きます。迷ったら ESP32 Dev Module を選んで、他は何も変えないのが一番です。
Board Manager にパッケージは出るのに、インストールがエラーになる?
インデックスのダウンロードエラーはネットワークが原因、展開エラーはディスクかウイルス対策ソフトが原因です。Windows ではウイルス対策ソフトがツールチェーンの展開途中で隔離してしまうことがあるので、Arduino15 フォルダを除外リストに入れて再試行してみてください。書き込みの FAQ では、書き込み時に同じエラーが出た場合の対処をまとめています。
2つ目のパッケージを入れたら全部動かなくなった?
古いパッケージが新しいものを隠してしまうことがあります。Boards Manager はバージョンを並列で保持するためです。古いエントリを削除して、再起動して、入れ直してください。チップファミリーごとにボードパッケージは1つ、というのが鉄則です。
オフラインでも ESP32 をインストールできますか?
できますが、ひと手間かかります。Espressif が公開している JSON と ZIP を使う手動インストールか、動いている別のマシンから Arduino15 フォルダごとコピーする方法です。フォルダごとコピーするやり方は、私がネットワーク遮断環境で実際に使っている方法で、乱暴ですが確実に動きます。
どうしても解決しない?それでもコードは動かせます。
ツールチェーンが言うことを聞いてくれない間も、同じスケッチはブラウザのシミュレーターで動かせます。app.sensbench.com は WROOM-32D を再現しているので、先にコードを検証しておいて、IDE が大人しくなったら書き込めば大丈夫です。はじめての ESP32 FAQ では、ボード選択から初回書き込みまでを最初から最後まで通して解説しています。