ESP32 with Arduino how to work

I got a ESP32-S from US friend kaduhi. Thank you!! I will enjoy this exciting device and experiment/create codes:)

p_20161121_213054_hdr

ESP32-S spec is here.
CPU : Xtensa® 32-bit LX6 Dua-core processor
ROM/SRAM: 448 KByte ROM, 520 KByte SRAM
WiFi : 802.11 b/g/n/e/i
Bluetooth : Bluetooth v4.2 BR/EDR and BLE
And others amazing spec is hardware accelerated encryption: AES / SHA2 / Elliptical Curve Cryptography / RSA-4096. This hardware encryption is very useful for IoT and TLS networking. I thinking ESP32 is powerful PC including networking spec.

手持ちの歴代ESPとのサイズ比較な感じだと。右下がESP32-S、左上がESP-WROOM-02、右上はESP8266、左下がESP12。
p_20161121_220216

基板に付けるとこんな感じに。
p_20161121_224414

img_0083

開封して基板にとりあえず付けるとこんな感じ。前のESP8266に比べて圧倒的にピン数が多いっすね。「これだけのだし、何でも面白いものを作れるだろ?」という暗黙のプレッシャーを感じるです…

ここで、この子にピンヘッダをおもむろに付けようと思ったけど、2列だからブレッドボードに指したりしようとすると何かと不都合が…
そういう時に活躍するのが、スルホール用テストワイヤとか。ただ、自分は後でピンの抜き差しを自由に出来るように、2列10ピンのピンソケットの1個を抜いて使うことに。

img_0086

完成

img_0095

Arduinoで使ってみる

すでにESP32 Arduinoが公開されている。ESP8266と一緒な感じでArduino IDEから使えると非常に便利で、開発者も一気に広まるというのもあるからね。ということで、このgitを使う。

記載の通り進める。自分の環境はMacOS 10.11.6でPythonは2.7というのもあって、pyserialを入れる必要があった。

cd /Applications/Arduino.app/Contents/Java
cd hardware
mkdir espressif
cd espressif
git clone https://github.com/espressif/arduino-esp32.git esp32
cd esp32/tools
python get.py
# pyserialを入れる。pyenvとかpipを使っている場合は、それに合わせて入れる
wget https://pypi.python.org/packages/1f/3b/ee6f354bcb1e28a7cd735be98f39ecf80554948284b41e9f7965951befa6/pyserial-3.2.1.tar.gz
tar -zxvf pyserial-3.2.1.tar.gz
cd pyserial-3.2.1
sudo python setup.py install 

次にArduinoの起動〜利用。Arduinoを起動してESP32を選択。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-24-1-37-13

次にESPとシリアルの結線。これはそのまんま。自分はFT232RL搭載小型USB-シリアルアダプタ 3.3Vをいつも使っているんだけど、3.3V/GND, TX<->RXをESP32側とつなげるとOK。

起動時のログはこんな感じでシリアルから見れる(既にArduino化されているのだけど)。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-24-1-22-31

そして問題の書き込み。これはムチャクチャ簡単。

1. RESET + IO0を同時押し
2. RESETを離す
3. Arduino IDE上からFlashをポチる

以上な感じ。この辺はムチャクチャ簡単に出来る。2の時点でシリアルを見るとこんな感じの表記が出ている。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-24-1-24-15

そして書き込みをすると、Arduino IDEではこんな表記が出る。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-24-1-24-21

そしてLEDピカー

img_0093

上向きにピンソケットを出せば良かったかな…と2秒くらい後悔したw FT232RLだけでサクサクっと動かして使えるのはめっちゃ良い。

あと不明な所はESP32 forumを見れば解決すると思われ。最後に、FCCは通っているけど現時点ではTELECは通って無いっすね。WiFiのlibとかは上記のgitに普通に入っている。ここではWiFiを出しているとは何も書いていないんでお察しでw

追記で…WiFiに接続しようとすると、このままだと接続できない。というのも、このESP32はピークで500mA消費するようで、このFTDIの3.3Vでは到底供給できない。WiFiのプログラムを有効にして接続するとブチっと切れる。
そこで、こんな感じで3.3V 500mAのTA48m033Fを使って供給してあげたら良い感じに、WiFiも使えてフルで何でも出来るようになる。
img_0240