ESP-13を使ってみる

Arduino IDEを使ってスケッチを書き込む


Arduino-IDEを使ったESP-13(ESP-WROOM-02)へのスケッチ書き込みは、あちこちで紹介されていますので
今更私が紹介することは何もないです。

<余談>
ESP-13とESP-WROOM-02は製造者が違います。
ESP-13:ShenZhen AI-thinker CO.,LTD
ESP-WROOM-02:Espressif Inc(Espressif IncはESP8266EXチップの製造元)
形状がそっくりなので、内部の設計は同じかもしれません。
</余談>

こちらこちらに 詳し く紹介されています。
特に以下のページの回路図はきれいで非常に参考になりましたが、回路は少し変えました。

ESP-WROOM-02 > ユニバーサル基板でも動いた > 使用部品 / 実装の写真 / 回路図

変更点1
上記のページではGPIO_2をPullUpしていますが、こ ちらのページの「Boot Messages and Modes」に
以下のコメントが記載されています。
note: - GPIO2 is used as TX output and the internal Pullup is enabled on boot.

また、以下のページの結線図ではGPIO_2はN/Cとなっています。

Upload sketch to the ESP8266 (ESP-07/ESP-12) using Arduino IDE
ESP8266 WiFi – ESP-12 module aansluiten
Programming and running the ESP12-E

そこで、GPIO_2はどこにも接続していません。

変更点2
上記のページではRSETはスイッチを使ってPullUP/GNDのパルス動作ができるようになっていますが、
実際に試したところ、電源投入時のGPIO_0の状態により以下のどちらかになることが分かりました。
電源投入時にGPIO_0がPullUPされている・・・スケッチの実行モード
電源投入時にGPIO_0がGNDになっている・・・スケッチの書き込みモード
そこで、RSETはPullUp固定にしています。

変更点3
電源投入時にGPIO_0の状態で実行モード/書き込みモードになることが分かりましたので、
電源スイッチを追加しています。

実際の回路は以下のようになります。
ESP-13のパーツ図が無かったので、同じピン数の別のパーツを流用しています。(ESP-13のパーツ図、欲しい...)
抵抗は全て10Kです。

USB-TTL変換ケーブルは、PL-2303/CH340/FT231X/CP210Xのチップのものが入手可能ですが、
Windows10でPL-2303の変換ケーブルを使うときは、Revision3.2のドライバーを使う必要が有ります。
私は間違ってRevision3.8のドライバーをインストールしてしまったので、毎回ドライバーの更新をする羽目になりました。
PL-2303ドライバーのRevision3.2.0.0はこちらからダウンロードする事ができます。

また、PL-2303の変換ケーブルでは、どうもFlashSizeが4M(3M SPIFFS)のスケッチの書き込みに失敗するようです。
FT231X/CH340のUSB-TTLケーブルでは4M(3M SPIFFS)のスケッチの書き込みができました。
但し、書き込みはコツがいります。
NodeMCUやWeMosを見ていると、コンパイルが終わり、バイナリーをESP側に転送する直前で
ESP側のBootモードをFlushモードに切り替えているようです。(コンパイル中はFlush上のスケッチがまだ動いています)
@ESPにPullUp、PullDown抵抗を接続して書き込みの準備。ESPにはまだ通電しない
A目的のスケッチを書き込む。コンパイル中はESPにはまだ通電しない
Bコンパイルが終わり、バイナリーをESPに転送を始める直前でESPに通電する
こ ちらのページで、USBアダプターのDTRシグナルを利用した回路が紹介されています。
この回路なら、4M(3M SPIFFS)のスケッチも普通に書き込みできるのかもしれません。

ESP-13
上の図では普通のレギュレータを使っていますが、実際は写真のようなAMS1117とバイパスコンデンサーを組み合わせた
部品を使っています。







この部品は値段も安く(1個25円ぐらい)、容量も大きく(定格800mA)、ブレッドボード/ユニバーサル基盤の両方で使えますので重宝してい ます。
但し、パーツに実装されているチップコンデンサーはあまりにも頼りないので、別途電解コンデンサを出力側に追加しています。



ユニバーサル基盤に組むとこのようになります。
PullUp、PullDownの抵抗はすべてESP-13の下に実装しています。
赤いスライドSWが電源SW、黒いスライドSWが書き込み/実行の切り替えSWです。
左右の端にあるのは3.3VとGNDを出すためのピンです。




書き込みSWをGND側にして電源SWを入れるとスケッチ書き込みモードになります。
書き込みSWをPullUp側にして電源SWを入れるとスケッチ実行モードになります。

今回、変換基盤にはAITENDOの製品を使いましたが、AITENDOの製品は、パターン付きとパターンなしの2種類あります。


左がパターン付き、右がパターンなしですが、表面は同じです。


パターン付きの基盤はチップ抵抗を使うことで、CH_PDとRSETをPullUpすることができます。
またパターンをショートすることで、以下のようにすることができます。
GPIO_15:GND
GPIO_2:3.3V
GPIO_0:GNDまたは3.3V
こちらで チップ抵抗を使った写真が公開されています。

今回はパターンなしの基盤を使いましたが、パターン付きの基盤を使えば(はんだ付けの技術が必要ですが)部品点数はかなり減らすことができます。

最近になってこのようなT型の変換基盤も発見しました。


右が千石で見つけた基盤(\180) 左が秋月で見つけた基盤(\80)
サイズと値段が反比例します。



次回はESP-13の実行環境を紹介します。