ESP-WROOM-32 (ESP32) 準備

 昨日お伝えした ESP-WROOM-32 (ESP32) が秋月から届きましたので早速。


 公式データシートの13ページ に参考回路図が載ってますが、ほとんど ESP8266 と一緒 です。
 ESP8266 のときには何個か外部に抵抗が必要でしたが、主要な必須プルアップ/ダウンは内蔵され、ENピン(リセットを兼ねる)に1つプルアップを置くだけで良いみたい。


 パソコンから USBシリアル(こういうの)で接続する前提での回路例です。
 三端子の周辺は各自の電源事情に応じてアレンジしてください。
 入力側の 1000μF は 20円 と安いため好んで使ってるだけで、そんなに容量いらないと思います。


http://dl.ftrans.etr.jp/?457ce88484ea41319da3700cdb8320602869758a.png
※GND はモジュール内で繋がってるぽいので、外部で3つを結線しなくても、とりあえずは動きます。
 (勝手な予想ですが)pin.1 の GNDライン が最も太いと思うんで、まずはここだけ押さえておけば良いかと。


 もういっそ、ENピンにもプルアップ内蔵しといてくれ、って感じですよねぇ。
 んで、これを 1.27ミリユニバーサル基板 に配置することにします。


http://dl.ftrans.etr.jp/?7736efe59a1c4283b86f8b8b95a331a0699eeabd.jpg http://dl.ftrans.etr.jp/?f7f9876aa9364b938594c502c90d58f65eb62b6c.jpg


 あれ?って思った方、お目が高い。
 ピンソケットピンヘッダ で着脱可にしたうえで、裏返しに配置しました。


 だって、裏側にピンアサインのシルク印字があるんですから、隠してしまうのはもったいない。。
 私のように裏返しにして実装する場合は、最初の回路図のピンアサインが半田面から眺めた配置となりますので要注意。


 更に注意となりますが、誠に残念なことながらこのモジュール、縦横ともに 1.27mm ピッチに対して半ピッチくらいズレてるみたいで、ピンソケット・ヘッダの付近を僅かにハの字にする必要あります。
(意味が伝わらないかもしれないが、ユニバーサル基板の上に置いてみると気がつくと思う)
 秋月さんのことだから、きっと専用の変換基板を準備中だと思いますから、ちょっとの間の辛抱ですね。


 で次が Arduino の環境構築


 基本的には Github の資料通りWindowsの場合の詳細手順は こちら)ですが、ひとつ嵌ったのが、

Target Directory: C:/Users/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32

という箇所。
 最初この通りにやったら、うまく出来たぽく見えるものの、Arduino のボードリストの中に ESP32 が出現せず・・・


 試行錯誤の結果、私がスケッチを置く場所をデフォルトから変更していたことが原因だったらしく。
 デフォルトの人はいいですが、なにか弄った覚えのある人は念のため Arduino の環境設定で確認したほうがいいです。


http://dl.ftrans.etr.jp/?c2c1ea42f6524307bddcf4736f86fe522dd457c6.png


 私は E:\ownCloud\Documents\Arduino に移動させてたので、E:\ownCloud\Documents\Arduino\hardware\espressif\esp32 を指定しないといけなかったのでした。


 手順どおりやると、Arduino のボードリストの中に ESP32 Dev Module が現れるので、それを選んで後は ESP8266 のときと同じ要領で COM番号 を指定したり、と。


http://dl.ftrans.etr.jp/?ea1fa96d6ba345d5863966dedf71330b1daa11c6.png


 ESP8266 のときと同じで、IO0 のスイッチを押しながら POWER ON(または RESET ボタンプッシュ)するとダウンロードモード(書き込みモード)になりますが、書き込み後に勝手には再起動しないみたいで、手動で RESET する必要があるぽいです。

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600, SERIAL_8N1);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello ESP32");
  delay(1000);
}

 スクショは省略しますがバッチリ動作♪


 しっかり無線で遊べるうえに、マイコンとしても、ほぼフルスペックの性能なのに、これでたったの700円
 ほんと 凄い を通り越して 凄まじい としか言い表せません。


 次は 3G/LTE 搭載ですかね。
 ワクワクします。


 週末もうちょっと遊んでみて、その結果を記事にしますねー


(追記)2017/02/03
 乾電池(単3NiMH電池×2直列)で動いてしまいました。
 しかも無線送信もバッチリ。
 詳しくは こちら をどうぞ。


(追記)2017/02/07
 Arduino IDE でもいいのですが、Microsoft が提供している強力な開発ツール Visual Studio を使っても、ESP32 のプログラミングが出来ました。
 手順をまとめましたので、インテリセンス でラクしたい方はご参考くださいませ。
http://d.hatena.ne.jp/wakwak_koba/20170207


(追記)2017/02/12
 ブレークアウトボードの使い勝手がイマイチなので、2号機を作りました。
 これから準備する人はこっちのほうが良いかと。。
 興味ある方は こちら からどうぞ♪