ESPr Developer 32 ( スイッチサイエンス製 ) を使ってみました

記事公開日:2017年7月6日
最終修正日:2017年7月31日

スポンサーリンク

こんばんは。

今回は、ついにスイッチサイエンスさんから発売された、ESP-WROOM-32 ( ESP32 )開発ボード、ESPr Developer 32 を使ってみましたのでレビューしてみようと思います。

ESP-WROOM-02 ( ESP8266 )を使った、ESPr Developer がとても良く出来ていたので、待ちに待ったという感じです。
価格も旧製品の ESPr Developer よりもちょっと高いくらいです。

巷に出回っている、ESPRESSIF社 ESP32-DevKitC と比較すると、サイズが大きいのですが、実はちょっと特殊なピンヘッダを使えばブレッドボード上でも十分余裕のピン配置で使えるんです。
これは後で述べますが、この方法はホントにお勧めですよ!

では、私なりの視点でこのボードをいろいろ見てみたいと思います。
スイッチサイエンスさんのサイトの以下のページも合わせてご覧ください。

ESPr® Developer 32

ESPr Developer の価格について

ESP32-DevKitC はいろいろな通販サイトで格安で購入できますが、私はよくAmazon.co.jp で購入します。
仕事で多忙なとき、休みの日にすぐ欲しいということが多く、Prime対応というものが翌日届いて便利なので、多少高くても利用してしまいます。
そして、当ブログで広告を出しているという理由もあります。

ESPRESSIF社製 ESP32-DevKitC は、 Prime 対応では以下の販売店があります。


多少高いですが、Prime対応なので仕方ないところではありました。

今回発売された、スイッチサイエンスさんの ESPr Developer 32 ( ESP-WROOM-32 開発ボード )はそれに比べて80円高いだけです。(送料別)

ESPr® Developer 32

Prime対応のように翌日届くというわけにいきませんが、在庫があれば、場所によっては3日以内で届いたりします。
しかも、このボード数枚ならばネコポス便なので、受け取りもポスト投函でとても便利です。
そして配達員にもやさしいですね。

ESPr Developer 32 外観

まず、スイッチサイエンスさんのサイトから購入したばかりはこんな感じです。
ピンヘッダは付属しておりませんのでご注意ください。

ESPr_Developer32_01

ESP32-DevKitC の基板が黒色だったので、青色が鮮やかでなんか新鮮です。

表裏はこんな感じです。

ESPr_Developer32_02

GPIO のランド部分がかなり狭いですね。
ハンダ付けが難しそうです。

ESP8266 の ESPr Developer とのピン配列を同じにするために、基板パターン設計の苦労が見てとれますね。
GNDパターンや、3.3V電源パターンもできるだけ広く取ろうという意図が感じ取れて好感が持てますね。

ESP32-DevKitC (右側)との大きさ比較はこんな感じです。

ESPr_Developer32_03

サイズが長くて残念な気がします。
これ、実は後で述べますが、ちょっと特殊なピンヘッダを使うと、この大きさがあまり気にならなくなってきます。

ESPr Developer 32 特殊ピンヘッダハンダ付け

では、ちょっと特殊なピンヘッダを取り付けていきます。

まず、スイッチサイエンスさんのサイトでも推奨しているように、ESPr Developer用拡張基板が簡単に接続できるようなピンソケットをハンダ付けします。
拡張基板とはこんなものです。


ただ、ピンソケットは下図の様なロングピンソケットを使います。
そうすれば、ブレッドボードにも挿せるようになるので便利です。

ESPr_Developer32_04

これは、一般にArduino シールド用として販売されているもので、10ピンの物です。
Amazon.co.jpではセット販売になってしまいますが、こんな感じで販売されています。

この中の10ピンのものだけ使用しますのでご注意ください。
20ピンのものがあればそれが一番良いのですが、今回は手持ちであったものを使いました。

それで、これを20ピンにしたいが為に下図の様にやろうとすると、1ピンをカットしないとうまくできません。

ESPr_Developer32_05

そこで、ESPr Developer 拡張基板は10ピンなので、それ以外は別の特殊ピンヘッダを使ってみました。
こんな感じの物です。

ESPr_Developer32_06

これは、マルツさんで売っていますが、Amazon.co.jp ではここにあります。

このピンソケットはIC用ピンソケットなのですが、実はとても優れものなのです。
下図の様にブレッドボード用ジャンパーワイヤーが挿せるのですが、接触不良が起きにくい構造になっています。

Arduino用ピンソケットは接触不良が多く、しかも中のピンが永久に広がったままになってしまうことがあります。

しかし、このピンヘッダはとても信頼性があり、実際に挿し込んでみると、カチッとしっかりハマる感覚があります。

ESPr_Developer32_07

ただ、見て分かる通り、ロングピンのところが太いので、ブレッドボードに若干挿しにくいところがあります。
ロングピン部分はブレッドボード以外の他のピンソケットには刺さりませんのでご注意ください。
また、ピンソケット部分にQIコネクタピンは刺さりませんのでご注意ください。

では、これを10ピン分ニッパでカットして下図の様に仮に挿してみます。

ESPr_Developer32_08

このように、平行に刺さりませんので、その部分をカッターかヤスリで削ります。
金属ピンのギリギリまで削る必要があります。

それができたら、ハンダ付けしていきます。
ただ、下図の様にハンダ付け用のランドがかなり狭いので、通常のコテ先ではうまくハンダ付けしにくい場合があります。

ESPr_Developer32_09

そこで、私の場合は下図の様なC型またはBC型のコテ先にしたら、うまくハンダ付けできました。

ESPr_Developer32_10

完成した写真はこんな感じになります。

ESPr_Developer32_11

ESPr_Developer32_12

これで ESPr Developer 用拡張基板も接続できれば、ブレッドボード上でも使えるという万能ボードになりました。

ESPr Developer 32 をブレッドボードに挿してみる

では、まず、当ブログで何度も紹介していますが、超お勧めのブレッドボードは以下のものです。

改めて、なぜこのボードが良いかというと、左右6列のピンがあるところと、抜き差しの感触が良いというところです。

ESPr Developer 32 を挿した様子はこんな感じです。

ESPr_Developer32_13

ESPr Developer 32 は両側とも2列空きます。
ESP32-DevKitC の場合はこのブレッドボードでも片側1列になってしまいます。
分かりにくいと思いますので別の角度から見ると、2列空いているのが分かると思います。

ESPr_Developer32_14

ブレッドボード上部は意外や意外、ESP32-DevKitC と比べてフリーで使えるピンは2列の違いしかありませんでした。
この2列分の差は大きいですが、外径サイズの差から考えると意外ですよね。

その理由は、ESPr Developer 32 ではリセットボタンのところが、ブレッドボード外へはみ出す為です。
Web上の画像だけでは、ちょっと大きすぎると思ったのですが、実際使ってみると、「そういえばそうか・・・」という感じです。

いかがでしょうか。
このように特殊ピンソケットと、サンハヤトのブレッドボードを組み合わせると、GPIO ピンを両側3列使うことができるんです。
なかなか良いと思いませんか?

実際に OLED ディスプレイや micro SD カードスロットを接続するとこんな感じになります。

ESPr_Developer32_15ESPr_Developer32_16

意外と載るもんですね。
ブレッドボード上のピンにかなり余裕がありますね。
micro SDカードスロットと 小型 SPI通信 OLEDディスプレイくらいならブレッドボード1枚で十分いけます。
これ以上デバイスが増えたら、ブレッドボードに挿さずに、単体でも使おうと思えば使えますね。

ESPr Developer 32の特徴

では、競争が激しい ESP32 関連ボードの中で、この ESPr Developer 32 の特徴を見てみます。
因みに、私はアマチュアですので、もし間違えていたらコメント等でご連絡いただけると助かります。

電源について

まずは、こういうボードで一番大切な電源を見てみます。
今回のこのボードには、他のボードにはあまり見かけないソフトスタート付きの突入電流対策が施されているとのことです。

当ブログでは以前、ESP-WROOM-32 単体で電源を組んだ時の電流値を測定したことがありました。
ESP-WROOM-32 は リセットや Wi-Fi 動作時に400mA ~ 600mA 電流を吸い込むので、その瞬時電流に対応できる LDO 電源レギュレーターが必要でした。

できるだけ高速応答で大電流に耐えうる LDO を選択すると、その分コンデンサ容量計算が難しくなり、誤った選択をすると突入電流が大きくなり、パソコンのUSBポートやACアダプターを故障させる可能性があるということを述べました。
(以下の記事を参照)

●ESP-WROOM-32 ( ESP32 )の消費電流を電流プローブ無しで測定してみました
●ESP-WROOM-32 (ESP32) の 電流 測定 その2
●ESP-WROOM-32 ( ESP32 ) のUSB電源突入電流(インラッシュカレント)を考える
●ESP-WROOM-32 ( ESP32 ) の保護機能付き電源強化対策の実験

最終的には、電源投入時にコンデンサに充電する時間を緩やかにするソフトスタート機能付きパワースイッチIC を使うと良い傾向が得られたのですが、スイッチサイエンスさんのこの ESPr Developer 32 は正にそのチップを使っているとのことです。

パワースイッチICは、USBハブなどでよく使われているものです。
通常、親切なパソコンのUSBポートの出力側にも付いているらしいですが、安価なパソコンやACアダプターには無いかも知れません。

ESP32 はとてもいろいろなことが出来るので、面白半分に3.3V ラインにいろいろなデバイスを接続してしまうでしょう。
そうすると、電圧を安定させたいがためにコンデンサを追加してしまうこともあると思います。
その場合、USB規格の推奨容量を超えてしまって、さらに突入電流が大きくなってしまうことが考えられます。

そうすると、パソコンのUSBポートを破壊する可能性がありますし、また、ESP32 の最低動作電圧下回る電圧ドロップが起きて、ESP32自体が故障することも有り得ます。

多種多様なUSBデバイスに対応し、なおかつPCを故障させないようにするためには、ソフトスタートはやはり必要と思います。

では、下図をご覧ください。

ESPr_Developer32_20

テキサスインストルメンツ社の TPS 2065 DDBVR というパワーディストリビューションスイッチがあります。
出力1Aで、出力短絡保護機能付きですね。
これが、USB電源接続後、ソフトスタートという機能で電圧を緩やかに5Vまで上げてその後段のコンデンサを充電します。
そうすると、パソコン側から突発的な大電流を出力する必要もなく、USBポートを安全に保つことができます。
これはホントに素晴らしいチップですね。

次に、LDO ( ロー・ドロップ・アウト)電圧レギュレーターを見てみます。
DIODES社の AP7361-33E というのがあります。
データシートによると、2.2V~6V という広い入力電圧範囲ですね。
最低が2.2V というのが大事ですね。
逆流阻止ダイオードで4.7Vくらいになっている上に、USBケーブルが粗悪だったり、長かったりすると大電流で電圧降下が起きて、たちまち3V以下になってしまう場合がありますので、この2.2Vというのはかなり厳選してパーツを選んでいると想像できます。

そして、300mA の電流で 150mV の電圧ドロップ、1A で 0.5V の電圧ドロップとあります。
ESP32 の最低動作電圧は2.2 V ですから、3.3V ラインに 1A 流れたとしても 0.5V ドロップで、2.8V と許容範囲です。

私が調べたところによると、ESP-WROOM-32 単体のWiFi 使用時のみの瞬時最大動作電流は 600mA 程だったので、特に問題無い範囲と思われます。
ただ、最大1A のレギュレーターなので、いろいろなデバイスを接続してしまうことを考えると、この電圧ドロップ範囲は結構ギリギリの運用のような気がします。
アナログデバイセズの ADP3338 のように、1A で 190mV しか降下しない LDO がベストなのですが、コストと保護機能を優先したのでしょう。
価格にすると10倍くらいの差がありますからね。

また、このレギュレーターは出力側の2.2 μF 以上のセラミックコンデンサーで安定すると書かれています。
今時の電解コンデンサ不要のレギュレーターですね。
セラコンは素早い応答性で、瞬時の電圧降下でも電流を供給できる長所があるので、それ専用のレギュレーターを使うことは高速CPU 基板には必須でしょうし、基板スペースの点でも有利ですね。

そして、大事なのは、電流制限機能や、サーマル(熱)シャットダウンなどの保護機能がついていることです。
商品にする場合、これは不可欠な機能ですね。
電子工作の場合、どんな使われ方するか分かりませんから・・・。

さて、では、ESP32-DevKitC の場合はどうなのでしょうか。
当然、ソフトスタートなどのチップはありません。
LDO レギュレーターは現在、 NCP1117 です。

データシートによると、電流制限機能やサーマルシャットダウン機能はあるようです。

電流については、1A を超える出力が出ますが、800mA の場合、なんと1.2V もドロップアウト(電圧降下)してしまうとのことです。
これは、3.3V ラインの場合、2.1V まで下がってしまうことになります。
これはいただけませんね。
やはり、こういう高機能マイコンの場合は大電流でもできるだけドロップしない LDOを選ぶべきと思います。
ただ、このチップは安価なので、コストを考えると仕方ないのかも知れません。
その分、3.3V ラインには結構な容量のコンデンサがあちこちに積んでありますので、この LDO の欠点をカバーしているかのように見えます。
ESP32-DevKitC の場合、USB規格の総容量を優に超えていますが、これって、大丈夫なのかな・・・?

USBシリアル変換について

ESP32-DevKItC では、 USBシリアル変換チップは CP2102 を使っています。
これは、Windows PC と相性が良くないという情報がありました。

確かに、今まで私の Windows10 パソコンでは、ESP32-DevKitC でArduino IDE スケッチ書き込みは 115200bps でないと自動遷移書き込みできませんでした。

「自動遷移書き込み」とは、Boot やリセットスイッチを押さなくても、Arduino IDE 画面の書き込みを実行するだけで、自動で書き込みモードに遷移して ESP-WROOM-32 のフラッシュへ書き込める機能のことです。

良く参考にさせていただいているDeko さんの記事 では、ESPr Developer 32 ならば 3,000,000bps の速度で書き込めるとあります。
ESP32_DevKItC の CP2102 の場合は 1,500,000 までは可能ですが、FTDI社の FT231XS ならばもっと速度が出るとのことです。

そこで、私は ESPr Developer 32 に期待してしまいました。
しかし、やっぱりボタンを押さずに自動で115200 より上の書き込みはできませんでした。
電源起動時の最初だけ、たまにボタンを押さずに自動遷移書き込みができる程度でした。

USBケーブルを長いのから短いもの、また、高品質のものから低品質のものまでいろいろ試しましたが、あまり変わりませんでした。

ただ、Flash [ Boot] ボタンを押したまま書き込みをすれば、2,000,000まではできました。

押し続けているという点でいえば、ESPr Developer 32 のスイッチは指にやさしいですね。
ESP32-DevKitC ではボタンが小さくて指が痛くなります。

自動遷移しない原因は良く分かりませんが、おそらく、私のパソコンのUSB ポートのチップが粗悪なのか、または故障しているのではないかと考えられます。
やはり、USBポートについても大手メーカー製パソコンの方が信頼性あるのかな・・・と勝手に思っています。

シリアル送受信 LED インジケーター

ESPr Developer 32 には、ESP32-DevKitC には無い、シリアル送受信用の LED インジケーターが付いています。
こんな感じです。

ESPr_Developer32_23

発売初期のバージョンにしては、適度な明るさで私的には丁度良いです。
初期の ESPr Developer ( ESP8266 ) は眩し過ぎたりしましたが、改良されてリビジョンがアップする度に良くなっていきました。
そのノウハウが生きていると思います。
ESP32-DevKItC の電源LED 表示は私にはちょっと眩し過ぎます。

このシリアルインジケーターは ESP32-DevKitC には無いのですが、パソコン画面を見なくても、Arduino IDE のシリアルモニターに出力されていることが分かり、ハングアップしていないことが確認できて、あると便利なものです。

突入電圧、電圧ドロップ(降下)測定

電流測定はボードのパーツを剥がさないとできないので、今回は見送りました。
その代わり、5V ( Vout ) ピン電圧と、3.3V ピン電圧の変化をオシロスコープで見てみます。
電圧降下(ドロップ)を見れば、電流値をある程度予想できます。

ESP32-DevKitC と、ESPr Developer 32 で比較してみます。

まず、Arduino IDE に WiFi アクセスポイントへ接続するだけの簡単なスケッチを入力し、コンパイル書き込みしておきます。
そして、オシロスコープで VOUT ( 5V出力 )端子と 3.3V 出力端子の電圧を測ります。

まず、広いレンジ(範囲)の電圧を比べてみます。
以下のように、WiFi 起動までの時間はその都度変化がありますが、WiFi機能の起動によって明らかな電圧ドロップが発生していることが分かります。

[Graph-1]
ESPr_Developer32_30

[Graph-2]
ESPr_Developer32_31

ここで、気を付けて見ていただきたいのは、VOUT ( 5V ) 端子電圧です。
両者とも 4.7V 付近になっていますね。

これは、外部電源を入力した時の逆流防止ダイオードがVBUS ( 5V )ラインに入っている為による電圧降下が原因です。
ダイオードに通電すると 0.3V くらい降下しますので、外部入力端子がある以上、これは仕方無いですね。
では、電源投入時の突入電圧波形を拡大して見てみると下図のようになります。
ESP32-DevKitC の場合はこうなります。

[Graph-3]
ESPr_Developer32_32

ほぼ垂直に立ち上がっていることから、かなりの突入電流が発生していると考えられますが、意外にもその直後の電圧ドロップが殆ど無く、全く問題無い立ち上がりと言えそうです。
この波形をもっと詳細なレンジで測定しましたが、特に問題ありませんでした。
電流の大きさはどうか分かりませんが、起動した直後に大きな電圧ドロップは発生しておらず、デバイス側IC に悪影響を与えていないようです。
さすが、本家 ESPRESSIF社のボードです。

では、スイッチサイエンス社の ESPr Developer 32 の波形を見てみます。

[Graph-4]
ESPr_Developer32_33

パワーディストリビューションスイッチによるソフトスタートが効いていることが分かりますね。
ESP32-DevKitC に比べて、かなり滑らかな立ち上がりです。
途中の電圧ドロップも無いので、突入電流が抑えられていると予想できます。

次にWi-Fi 機能が起動したと思われる波形を見てみます。

[Graph-5]
ESPr_Developer32_34

[Graph-6]
ESPr_Developer32_35

5Vラインの電圧波形が、ESPr Developer 32 の方がクッキリ出ていますね。
ESP32-DevKitC は電圧が小さく、波形がナマッているように見えます。
これは、5Vラインの電流が ESPr Developer 32 の方が大きいことを意味しています。
恐らく、この時に電流が400mA ~ 600mA 流れているものと思われます。
ただ、電圧ドロップはおよそ330mV 以内に抑えられているので USB2.0 規格には問題無いと思われます。

それよりも、両者とも素晴らしいのは、3.3V 電圧が殆どドロップしていないことです。
ESP32-DevKitC の LDO レギュレーター NCP1117 はもっとドロップしてもいいはずなのに、これはちょっと驚きですね。
ただ、この場合はボードに他のデバイスを一切接続していない状態ということを頭に入れておいて下さい。

では、これにSPI 通信の 有機EL ( OLED )ディスプレイと、SPIモードの micro SDHC カードスロットを接続して、測定してみます。
するとちょっと状況が変わって来ます。

フルカラー OLED ディスプレイは 秋月電子通商さんで販売している Pmod OLED ( SSD1331 )を使って、下図の様に配線します。
因みに下図では ESP32-DevKitC の場合です。

ESPr_Developer32_21

 

ESPr Developer 32 で接続した写真ではこんな感じです。

ESPr_Developer32_22

では、電源投入時の突入電圧波形を見てみます。

[Graph-7]
ESPr_Developer32_36

[Graph-8]
ESPr_Developer32_37

いかがでしょうか。
ここでようやく違いがハッキリしてきました。
電源投入後に 5V 端子電圧がドロップしているのは、おそらく、OLED ディスプレイボードや、micro SDHC ボードに電流が吸取られていることによるものと思われます。

この電圧降下から数百mA 以上の電流が流れているものと思われます。
さすがに ESP32-DevKitC の LDO NCP1117 では電圧を一定に保つことができなくドロップしています。
それでも許容範囲ではありますが・・・。

驚きは、ESPr Developer 32 の 3.3V ラインがフラットというところです。
ここで、 LDO の性能の差が出てきましたね。

では、Wi-Fi機能が起動したと思われる電圧ドロップ波形を見てみます。

[Graph-9]
ESPr_Developer32_38

[Graph-10]
ESPr_Developer32_39

両者とも問題ないのですが、ESP32-DevKitC の方が 3.3V ラインで少々のドロップがありますね。
沢山のコンデンサを積んでいる割には、あまり効果を発揮していません。

3.3V ラインの電圧降下は2.5V を下回ってしまうと、ESP32 の故障リスクがかなり高まってしまいますので、この程度のデバイス追加であまりドロップしてもらいたくないところですね。

それに比べて、ESPr Developer 32 何もなかったかのように素晴らしくフラットです。
もし、もっと多くのデバイスが 3.3V ラインに接続されてしまったら、もっと顕著に違いが表れてくると思われます。
先ほども述べたように、3.3Vラインが2.2V~2.8V付近までドロップしてしまうと、ESP-WROOM-32 の許容電圧を下回り、フラッシュメモリを破壊することが考えられます。
以前も紹介しましたが、「ねむいさん」の以下の記事も合わせてご参照ください。

ESP-WROOM-32を使ってみる5 -ESP-WROOM-32が物故割れた!

ここで注意!!

VOUT ( 5V )端子に 5Vデバイスを接続するときは十分注意してください。
平均4.7V 出力ということに加えて、電圧ドロップが頻繁に発生していることをよく頭にいれておくことが必要です。
そうすると、5Vデバイスを接続する前段には、新たな LDO レギュレーターを入れた方が良いと思われます。
大容量コンデンサを入れることはUSB規格をオーバーしますので、USB電源を使う場合はお薦めできません。
これは、ESPr Developer 32 に限らず、ESP32-DevKitC も同様です。

まとめ

以上、最近発売されたばかりの、ESPr Developer 32 ( スイッチサイエンス社製) をレビューしてみましたが、まとめるとこんな感じです。

【短所】
●ESP32-DevKitC と比べて、サイズが長く、ブレッドボードを占有してしまう。
●ピンヘッダのハンダ付けランドが狭く、ハンダ付けが難しい。

【長所】
●他のボードと比べて、3.3Vラインの瞬時電圧ドロップ(降下)が少ない。
●パワーディストリビューションスイッチによるソフトスタート機能により、VBUS ( 5V )ラインの突入電流が抑えられ、パソコンやACアダプターのUSB ポートに優しい。
●出力側短絡保護、サーマルシャットダウン、電流制限等の保護機能が充実している。
●USBシリアル変換チップに FTDI社製の物を用いているため、 ESP32-DevKitC よりも高速でスケッチ書き込みができる。
ただし、パソコンのUSBポート構成により、FLASH ( BOOT )ボタンを押したままにする必要があり。
●長押ししても、それほど痛くならないボタンスイッチ。
●シリアル送受信 LED インジケーターが付いていて、意外と便利

あとは、スイッチサイエンスさんという信頼ある日本の販売店なので、パーツの出所も辿りやすいですし、安心感があるというのが大きいですね。

以上ですが、私はアマチュアですから誤ったことを書いているかも知れませんので、もし何かありましたらコメント等でご連絡ください。

しかし、今回は改めて感じたのですが、こういう開発ボードを商品化するというのはとても大変な知識と労力が要るものだとつくづく思いました。
開発者の方々の苦労をお察しします。

ということで今回はここまでです。

ではまた・・・。

mgo-tec電子工作 関連コンテンツ ( 広告含む )

スポンサーリンク

Amazon.co.jp 当ブログのおすすめ







投稿者:

mgo-tec

Arduino , ESP32 ( ESP-WROOM-32 ) , ESP8266 ( ESP-WROOM-02 )等を使って、主にスマホと連携した電子工作やプログラミング記事を書いてます。ライブラリも作ったりしてます。趣味、独学でやってますので、動作保証はしません。 電子回路やプログラミングの専門家ではありません。 畑違いの仕事をしてます。 でも、少しだけ電気の知識が必要な仕事なので、電気工事士や工事担任者等の資格は持ってます。

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)