2018年1月27日土曜日

FTDIのFT232RLでESP8266に自動書き込みしてみた。

ESP-WROOM-02に書き込んでテストしているとBOOTボタンとリセットボタンを押すのが面倒になってきたのでFTDIのFT232RLを使用して自動で書き込みできるようにしてみた。
USBシリアルが内蔵されている開発ボードとかだと普通に入っていたりするんだけど、USBシリアル変換基板を眺めていたら裏面にそのまま実装できてしまうんじゃないかと思ったのでやってみた。
USBシリアル変換基板は何種類か持っていたんだけど、DTRとRSTが出せて、3Mbpsに対応したのがFT232RLだったので、こいつを改造することに。
Silicon LabsのCP2102は1Mbpsまでだし…
CP2102Nに張り替えれば3Mbpsまで行けるけど。
基本的にこの手のモジュールは書き込み機が内蔵されていないArduino Pro Mini 328用のピン配列になっているので、DTRしか出ていない。なのでRSTはコントローラーICに直結して出さないといけない。

改造に必要なのは10kΩの抵抗2つとNPNトランジスタ2つだけ。RTS(FT232RL側)とRST(ESPのリセット)紛らわしかったかな…
ついでに3.3V電源も強化するように600mAまで流せる3.3Vレギュレータも内蔵することに。
ESP-WROOM-02はUSBシリアル変換ICに内蔵されてるLDOだけだと駆動できないし…

今回改造に使用するUSBシリアル変換アダプタはDTRとCTSが出ている6ピンのタイプ。
このモジュールは3.3V仕様に変更できるタイプだったのでUARTの信号レベルが3.3Vになるように3.3V仕様に変更した。(5Vのパッドにつながってるところをカットして3.3Vのパッドにジャンパする)

さらにDTRとCTSとVCCのピンヘッダにつながってるパターンをカットして、それぞれResetとIO0と3.3Vのレギュレータの出力をつなぐだけ。全部裏面に実装してみた。

チップ抵抗(なんかの基板から剥がした小さいやつ)と適当なSOT-23のトランジスタを使用したのでとても小さく仕上がった。
ちょうど裏側に5Vと3.3Vの切り替えのジャンパが来ていたのでレギュレータの電源はそこから頂戴することに。GNDベタになっていたのでレジスト剥がせばどこからでもGND取れるし…

DTRはもともと出ていたパターンを切って横取り。RTSは出ていなかったのでピンから直接頂戴した。

ESP-WROOM-02の基板側も改造してリセット端子とIO0に接続できるようにした。
これでESP-WROOM-02に書き込むときは自動でリセットされて書き込みモードに入るようになったので便利だ。そして3Mbps書き込みめっちゃ早い。

0 件のコメント:

コメントを投稿