2026年3月14日土曜日

USBシリアルアダプタでのESP32-C3へのプログラム書き込み

前回書いたESP32-C3-ROOMSにプログラムが書き込めなかった件 に対応するためbootモードを切り替えるピンをGPIO0からGPIO9に変更しました。しかし書き込めない。

ESP32-C3 Technical Reference Manual を参照したらJoint Download Boot mode(USB-Serial-JTAG)のときは、GPIO9をLowにして、かつGPIO8をHighにする必要があった。最初から確認しておけよ>自分


という訳で、GPIO8を10Kの抵抗でプルアップして書き込んだら無事にプログラムを書き込めました。

ESP32-DevKitなどは自動でプログラム書き込みモードを切り替えてくれますが、生のESP32は以下のシーケンスでモードを切り替える必要があります。
  • BOOTボタン押す(ESP32-WROOMはGPIO0;ESP32-C3はGPIO9だった)
  • RESET(EN)押す
  • RESET離す
  • BOOT離す
  • 書き込み
そこで書き込みモードを自動切換えできるアダプタをUSBシリアルアダプタに繋いで使っています。その昔、トランジスタ技術SPECIAL No.144 ペタッと貼れるWi-FiマイコンESP入門の記事にあった回路を流用して作りました。

FT232を使った市販のUSBシリアルアダプタに、書き込みモード切替アダプタを追加しています。



回路図(クリックで拡大できます)。BOOTとENはターゲット基板のほうでプルアップした方がよいかと思いアダプタ内ではプルアップしていません。でも、今回は見守りセンサ内でもプルアップしていませんが、一応動いています。


以下のようにターゲット基板に挿して書き込みます。一応、LINEに通知が届くまで動作確認できました。


少し見守りプログラムを見直そうと考えています。
  • 何事もなくても「見守り動作中」であることを月に1回程度はLINEに通知する。
    電源が抜けるなど何らかのトラブルで見守りできていないことを防止するため。
  • 留守モード(旅行など)にした場合でも1週間で帰宅反応がない場合は通知
  • 他にも何か思いついたら追加

0 件のコメント:

コメントを投稿