ESP32に関するよくある質問

ESP32 への書き込み:esptool・消去・ダウンロードモード

// 書き込み · FAQ

カテゴリ: ESP32 · 書き込み · 更新: 2026年8月

ESP32 への書き込み方法、トラブル時の消去方法、沈黙した基板を復活させる方法——書き込みは ESP32 プロジェクトなら誰もが頼る基礎スキルです。短い回答と実戦向けのコマンドでまとめました。

ESP32 に書き込むには?

まっとうな方法は 3 つあります。Arduino IDE、esptool.py、Flash Download Tool です。どれも同じバイト列を書き込みます。IDE は 460800 baud で esptool を呼び出しています。921600 でタイムアウトするときは、460800 でほぼ動きます。失敗する速度は基板次第です。初めての基板なら、はじめての ESP32 ガイドでみんなが飛ばすドライバー手順を先に確認してください。

書き込み時、実際に何が書き込まれるの?

3 つです。ブートローダー(0x1000)、パーティションテーブル(0x8000)、アプリケーション(0x10000)。0x0 はフラッシュの先頭で、デフォルトでは何も置かれていません。消去すると 3 つとも消えるので、消した直後のチップは 3 つが戻るまで起動しません。Arduino IDE はアップロードのたびに全部を組み直してくれます。

ESP32 に書き込む手順は?

今まで私が最も失敗しなかった手順です。まず USB チップ用のドライバーを入れます。安価な基板の多くは CH340、その他は CP2102 が多いです。挿して COM ポートを確認し、esptool.py --port COM5 write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 app.bin を実行します。それとケーブルも確認してください。私は充電専用の USB ケーブルで 1 晩潰したことがあります。基板に電源は入るのにデータが通らないやつです。

ESP32 WROOM に書き込むには?

WROOM モジュールには USB ブリッジがないので、書き込み方法は基板次第です。USB シリアルアダプターを TX、RX、EN、GPIO0 に配線し、電源投入時に GPIO0 を Low に保持してから、通常どおり書き込みます。「esp32 wroom にはフラッシュが入っているのか」という質問——答えは入っています。WROOM-32 なら 4 MB です。ただし自動リセット回路がないので、裸のモジュールは毎回手動でダウンロードモードに入れる必要があります。

Arduino で ESP32 に書き込むには?

Tools → Board で基板を選び、Tools → Port で COM ポートを選び、Tools → Upload Speed で 460800 を選び、Upload を押すだけです。IDE はブートローダー、パーティション、アプリを 1 クリックで書き込み、自動リセット回路のある基板ならダウンロードモードにも自動で入れてくれます。止まるときはドライバーかケーブルが原因です。

ESP32 Flash Download Tool の使い方は?

Espressif の Flash Download Tool は、IDE より古い Windows 用の GUI ツールです。.bin ファイルを追加し、それぞれの横にアドレスを入力します。0x1000 がブートローダー、0x8000 がパーティションテーブル、0x10000 がアプリです。SPI モードとフラッシュサイズを選んで START を押せば完了です。「esp32 s2 mini に espeasy を書き込む方法」を探していた方も、この手順が第 1 歩になります。

ESP32 のフラッシュを消去するには?

esptool.py erase_flash でチップをまっさらにできます。ブートループ、パーティション破損、新しいファームウェアを受け付けない基板の定番対処です。消したあとはブートローダー、パーティション、アプリが戻るまで起動しないので、IDE の次のアップロードでまとめて入れてください。ピンポイントで消したいなら、erase_region 0x9000 0x6000 で NVS 設定領域だけを消せます。

書き込みで基板が壊れることはある?

書き込み自体では壊れません。フラッシュのセルはセクターごとに約 10,000 回の消去サイクルに耐えます。「ESP32 は壊れるまで何回書き込めるのか」の答えは数千回です。開発中にそこまで到達することはありません。基板を本当に壊すのは、3.3V ピンへの 5V 印加や電源の逆接続です。

アップロード成功なのに動かないのはなぜ?

たいてい Flash Size の設定ミスです。IDE が 4 MB だと思っていて実際は 2 MB だと、ブートローダーはアプリを間違った場所に探しに行きます。モジュールに合わせて設定し直して再アップロードしてください。「ESP32 のフラッシュを確認する方法」を知りたいなら、esptool.py read_flash 0x0 0x400000 dump.bin でアプリがどこに書かれたか分かります。イメージが正しいのに起動時にクラッシュするなら、それはデバッグの領域です。デバッグ FAQ をご覧ください。

Flash Download Tool を使うなら esptool は不要?

不要です。どちらも同じフラッシュを書き込むので、1 つあれば足ります。自動化なら esptool.py が勝ち、Windows なら GUI が勝ちます。Arduino IDE は最初から esptool を内蔵しているので、多くの方はどちらにも触れません。書き込みのナレッジベースに両方の手順があります。変わったチップの場合は、どちらも挙動が怪しいことがあるくらいです。

Leave a Reply

Your email address will not be published. Required fields are marked *