Arduino(ESP-WROOM-02)の乾電池起動!

ESP-WROOM-02の乾電池起動にようやく成功です!

でも成功までにすごく手間取ってしまいました。。

これまで『ESP-WROOM-02開発ボード』という基板で開発・動作確認をしていました。
これはESP-WROOM-02に加えて、USB-シリアル変換やレギュレーターも搭載している高機能版です。

USB-シリアル変換はプログラムを書き込む際に使用しますが、一旦書き込んだ後は無用の長物。
高機能なゆえに割高なのも痛いところです。

と言うわけで、『ESP-WROOM-02 DIP化キット』というESP-WROOM-02のみの基板を使うことにしました。
ただし、これにはUSB-シリアル変換が載っていないため、別途プログラム書き込み機を用意する必要があります。

なので、まずプログラム書き込み機を作りました。
参考にしたのはこちらのブログ。

ESP-WROOM-02のライターを作る (キノコの自省録)
http://kinokorori.hatenablog.com/entry/2017/09/06/000000

この時点で結構時間が掛かったのですが、まだ壁にぶち当たりました。

ESP-WROOM-02を乾電池で起動させる際、某ブログには乾電池からのプラス線を3V3端子、マイナス線をGND端子に接続して動かしているのが紹介されていました。

同じことを『ESP-WROOM-02 DIP化キット』でやったけど、、、全然動かない!!

結論を言うと、プログラムを起動するには、EN端子とIO0端子とIO2端子をHigh、IO15端子をLowにしてESP-WROOM-02を起動する必要があります。
これがFlash boot modeと呼ばれるプログラムを動かすモードです。

参考にした某ブログは、全くEN端子などへ接続せずに動かしていました。どういうこっちゃ!?
この某ブログに倣って動かそうとしていたので、全然動かず、遠回りをしてしまいました。

そして上手く行った回路がこちら。
乾電池から来る6Vを3端子レギュレーター(TA48M033)で3.3Vに落とし、Flash boot modeで起動させるための端子をHighにします。右端のLEDは動作確認のためのLEDです。

動作確認のために、Lチカをやってみました。
プログラムはこれだけです。これをプログラム書き込み機で書き込みます。

void setup() {
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(4, HIGH);
  delay(400);
  digitalWrite(4, LOW);
  delay(400);
}

まぁ、そんなこんなで時間は掛かりましたが、ESP-WROOM-02の乾電池起動に成功です。

参考までに。。
ESP-WROOM-02 開発ボード
http://akizukidenshi.com/catalog/g/gK-12236/
ESP-WROOM-02 DIP化キット
http://akizukidenshi.com/catalog/g/gK-09758/