2019年7月13日土曜日

ESP32用の自動書き込みアダプタを作ってみた。

前にESP-WROOM-02用に自動書き込みアダプタを作ったんだけど、ESP32-CAMとかのESP-WROOM-32にはうまく書き込めなかったので改良も兼ねて新しく作ってみた。
今回の改造ベースは秋月のFT232RQ USBシリアル変換モジュールキット。これも前回同様6Pinの出力だし、ピン配置も同じなのでベースとしてはいい感じ。USB端子もMiniUSBからMicroUSBになるし(これが大きいかも)。本当はTypeCが良かったなぁ

このモジュールは表面にDIPスイッチがあって3.3Vと5V切り替えたりLEDオンオフできたりするんだけど、今回はこちらのディップスイッチを外してそこに3.3Vレギュレータ設置できるかな。
ESP-WROOM-32だとリセットじゃなくてENを操作してるみたいなんだけど、タイミングによってはIO0がLOWになる前に立ち上がってしまったりして書き込みモードに入れないことがあるようなので起動遅延用にENとGNDの間にコンデンサを入れるといいらしい。

というわけで今回は前回の回路にコンデンサを一つ追加しただけ。
定数は環境にもよるらしいんだけど、0.1uFだと不具合が出ているような人がいるっぽいので念の為0.47uFにしてみた。1uFでも良さそう。

DIPスイッチ剥がせば全部表面に実装できそうだったので、DTRのパターンを途中でカットしてそこにトランジスタを載せてしまった。EN側のトランジスタの下で切れてコレクタはそのままパターン上にはんだ付けした。
RTSはICのピンからそのまま引き出した。ついでにFT232RQのCBUS4がLEDの近くだったのでLEDを駆動できるように改造した。FtProgでCBUS4のモードをTX/RXに変更すれば送受信時に点滅してくれる。
ちなみにDIPスイッチを剥がしてしまってもVIOは3.3Vに固定されるのでこのボードだと3.3V化はしなくてもオッケー。ダイオードを0Ωに変更しようか悩んだがとりあえずそのままで
レギュレータ用のコンデンサはディップスイッチの隣のVIAのところでパターンをカットしてそこに3.3Vを流せばいい感じにそのまま使えそう。

裏面にはわかりやすいように適当に印刷した紙をセロテープで貼って完成。
ESP32-CAMとかにつなぐときはEN端子が出ていないのでグラバークリップとかでENにつながってるコンデンサとかをつまむしかない…。
ESP-WROOM-02で使う場合はENをリセット品につなぐだけなので前と変わらず使える。
ESP32で3Mbps書き込みする場合はboards.txtを編集する必要がある。

CooltermのようにDTRの状態をいじれるターミナルを使えばPC側からリセットもかけられて便利だわー

0 件のコメント:

コメントを投稿