■目次■
- 追記
- はじめに
- コンセプト
- Board1ピン配置
- 使い方
- ピンかソケットか
- 回路図/パターン
- Eagleデータ
- お買い求めは
- サポートは
- その他の受託業務
■追記2016年12月7日■
FTDIと通信できない、という現象についてレポートをいただきました。同様の現象について現在情報の収集に努めておりますが、もし同様の問題が起こっておられる方はお手数をおかけして恐縮ですが info@kurahashi-ya.com までご一報いただけると幸いです。レポートにお礼申し上げますとともに、ご不便をおかけしましたことを心よりお詫び申し上げます。
■はじめに■
Board1にご興味をもっていただき / ご購入いただき、ありがとうございます。Board1は仲間内の「ESPいいねぇ」「でもプルアップとGnd多くて面倒くさいねぇ」「こうするとラクじゃね?」という雑な会話から生まれました。雑な会話が発端とはいえ、試作5台を経てなかなか使いやすいものにできたと思っています。
なお、私のブログでは雑な方法でリフローはんだしていますが、Board1はちゃんとした工場(中国・Elecrow社)に組み立てを委託したものです。ご安心下さい。
ファーストロットは20個 |
- ESP-WROOM-02関連記事
- リンクの下(古い方)にはBoard1ではないものやBoard1 ver 1.0以前のプロトタイプ(赤とか緑の基板)の製作例も混じっていますがご容赦ください。そういえば鳩退治デバイスとか作っていたなぁ(笑)。
■コンセプト■
Board1は「さくっと使えるESP-WROOM-02」です。ご存知のように、ESPを使うにはプルアップ / プルダウン抵抗3本、スイッチ2個と抵抗2本、Vccと3本のGND、書き込みのためのTxDとRxD、こんなに一杯つないでやっとスタートラインです。このあたり毎回面倒くさいと思っているのは私だけではないと思います。もちろん、USBをつなげばOK、という製品も出ています。でも、ただでさえ消費電流の多いESPなので、普段は使わないFTDIに少しでも電流食われるのはイヤ。
しかしUSBをつなぐだけで動いてしまうのは、やっぱり便利。
ということで、ピンソケットで秋月電子さんのUSBシリアルを直接接続できるようにしました。プログラムを書き換えるときだけ、さくっと直接USBシリアルを挿せばOKです。
USBシリアルは付属しません。 |
Board1はブレッドボードをむだに専有しません。秋月電子さんから「凸」の形をした基板が出るまでESP-WROOM-02のブレイクアウトボードはブレッドボードを幅いっぱいに専有してしまい、配線は下をくぐってよっこらしょ、という形になってしまうものがほとんどでした。しかし、そうやってつないだ配線も半分くらいは単なるプルアップやらGNDとの接続で終わってしまい外に引っ張りだす必要のないものでした。
なつかしい、この感じ |
Board1では使いやすいピンだけを引き出しましたので、ミニブレッドボードにも刺さります。ミニブレッドボードだけでもBME280(I2C)、放射温度計(I2C)、OLED(I2C)、空気質センサー(TOUT)、ホコリセンサー(GPIO)をつなぐことができます。
また、ハンダジャンパをいくつか用意しました。
- IO13のLED
- これをハンダで埋めるとIO13がHIGHの時に赤LEDが点灯します。
- 「IO13は他にセンサーつなぐからLED邪魔」「IO13にLEDをつけるのはArduino的なお約束。でも、1mA以下とはいえ、ここで消費する電流がもったいない」……という方はSJ-IO13をオープンのままでお使いください。
- なお、Serial.printを実行するとTxのLEDが点灯するので、動作確認用LEDがわりに使うこともできます。
- SJ1(SDA/PU)とSJ2(SCL/UP)
- IO4/SDAとIO5/SCLとをそれぞれプルアップしたい場合にはハンダ付けしてください。お使いになるI2Cのモジュールの状況に応じて選べるようにしました。
- WAKE UP
- DEEP SLEEPからのWake up機能を使う場合にのみハンダ付けしてください。なお、このジャンパはIO16とRESETを直結するものです。直結時にはIO16を出力モードにしないでください。IO16にHIGHを出力中にうっかりRESETボタンを押すとESP-WROOM-02はたぶん壊れます。このジャンパは機能を十分にご理解しておられる方のみご利用ください。
シリアルのTx/RxにはLEDを付けましたが、信号のあるときだけ点灯しますのでトラブルの早期発見に役立ちます(経験者は語るのです)。
■Board1ピン配置■
Board1ではESP-WROOM-02のすべてのピンを外に出していません。GPIO, I2C, SPIなど代表的な信号については出していますが、出ていないピンもあります。用途に必要なピンが出ているかをご確認の上、お買い求めください。Board1端子 | ESP-WROOM-02 ピン | Board1内部処理 |
Tx | TxD(12) | |
Rx | RxD(11) | |
GND | GND(1,13,18) | |
VINs | - | |
VINs | - | |
TOUT | TOUT(16) | |
3V3s | 3V3(1) | |
3V3s | 3V3(1) | |
GND' | GND(9,13,18) | |
4-SDA | IO4(10) | |
5-SCL | IO5(14) | |
IO12 | IO12(4) | |
IO13 | IO13(5) | |
IO14 | IO14(3) | |
IO15 | IO15(6) | |
IO16 | IO16(17) | |
EN(2) | Pull Up | |
IO2(7) | Pull Up | |
IO0(8) | Pull Up/PROG | |
RST(15) | Pull Up/RESET |
■使い方■
ESP-WROOM-02一般の使い方については各種説明サイトをご参照ください。以下、Board1としての使い方をご説明します。まず、ピンヘッダかピンソケットをハンダ付けします(ピンヘッダにするかピンソケットにするか、決めかねている方は下記「ピンかソケットか」をご参考になさってください)。GNDピンは熱が逃げやすいので、そのままだとハンダ付けしにくいです。少しコテの温度を上げておいてからハンダ付けするとうまく行きます。
USBシリアルをご用意ください。推奨品はこちらです「超小型USBシリアル変換モジュール」。
秋月電子通商社のサイトより |
これに同モジュール付属のピンヘッダをハンダ付けしてください。
Board1はこの製品に合わせてTx〜Vinまでの配列を決めました(某林伸夫さんのアイディア。ありがとうございます)。5v電源を100mA程度しか取れないので、センサーや表示器をつないで動かすには別の電源か別のUSBシリアルが必要です。お勧めのUSBシリアルは下記をご参照ください。
他にUSBシリアルとMac / PCを接続するためのUSBケーブルが必要です。
なお、ESP-WROOM-02は3.3vで動作します。多くのFTDI / USBシリアルは出力3.3v / 入力5vトレラントなので問題ありませんが、たまに入出力とも5vのもの(あるいは5vに切り替えることができるもの)があり、その場合はESP-WROOM-02を破損する可能性が高いです。ご注意ください。
以下は利用可能なUSBシリアルです(他にもたくさんあります)。こういうタイプのピンの多いモジュールの場合、ブレッドボードに挿しても使わないピンが多いので、ピンヘッダをハンダ付けしてブレッドボードに挿し、ブレッドボードとBoard1との間をジャンパワイヤで接続するのがお薦めです。
- スイッチサイエンス社 FT231XS USB-シリアル変換ボード
- 他にピンヘッダかピンソケットが必要です。
- TxとRXD、TxとTXD、GNDとGND、Board1のVinとUSBシリアルの+5Vをそれぞれジャンパワイヤで接続します。
- 秋月電子通商社 FT232RL USBシリアル変換モジュール
- TxとRx、RxとTx、GNDとGND、Board1のVinとUSBシリアルのUSB端子をそれぞれジャンパワイヤで接続します。下の写真にも出てきますが、私が普段使っているのはコレです。
■ピンかソケットか■
Board1にはピンソケットとL字ピンヘッダを同梱しています(ハンダ付けはご自身でお願いします)。どちらか一方をお使いください。上からピンソケット、Board1、L字ピンヘッダ |
ピンソケットはジャンパーワイヤーやUSBシリアルのピンを直接挿すことができます。
ピンソケット |
L字ピンヘッダを使うとブレッドボードに直立しますので、ミニブレッドボードでも十分遊ぶことができます。ミニブレッドボードは安いし場所を取らないので、各種回路を作りっぱなしにしてBoard1だけ差し替えて使っています。
写真はプロトタイプのものです |
■回路図/パターン■
Eagleの設計データはgithubに公開しています。基板サイズは28x50mmです。
ESP-WROOM-02はご存知のようにリセット直後のWiFi接続開始時に大電流(300mA以上)を消費します。一般的な三端子レギュレータを数種類試したのですが、大抵は大電流に負けて電圧が大きくドロップしてしまいます。ESP自身はともかく周辺の部品には良い迷惑です。
しかし、新日本無線NJM2845とOS-CONという組み合わせであれば、ドロップもノイズも最小限に押さえることができ、動作を安定化することができました。孫子の代まで「三端子レギュレータはこれを使え!」と言い残したいと思います。アドバイスくださった日本フィールドサービス羽澤正さん、ありがとうございました(http://analog-circuit.com)。
なお、Board1から3.3vを引き出す場合には100-200mA程度を目安にしてください。NJM2845自体は800mA程度まで流すことができ、ESPは最大で350mA程度消費します。VINが5vならば合計500mA程度使ってもあたたまる程度ですが、電源電圧がもっと高い場合にはNJM2845がその差の電力を自ら受け止めることになってしまうのでかなり温度が上がってしまいます。
電源は5vか9vでのご利用を推奨致します。Vin - Gnd間の電源電圧は3.6v - 14vまで使えますが、3.6vというのは下限なのでなるべく4v以上でお使いください。また上限の14vは一瞬たりとも超えてはいけない絶対最大定格です。安い12vのACアダプタには電源差した瞬間に15vぐらい出てしまうものもありますので、ご注意願います。
■Eagleデータ■
githubで公開しました。■お買い求めは■
税込み1,290円、スイッチサイエンス社にて発売中です!■サポートは■
Google+閉鎖にともないMeWe上にグループを作成しました。「倉橋屋ESP関連製品サポートページ」です。一般公開ですので、ご購入前の方も疑問点などお気軽に書き込みしてください!また、上記githubのIssuesもご利用可能です。githubに慣れている方はこちらの方が使いやすいかもしれません。
■その他の受託業務■
Board1のようなボード / モジュールのオーダーメードも承ります。費用と納期は、だいたいの目安ですが、基板のみで10枚1万円〜、完成品は搭載する部品によって変わりますが10個2万円〜、納期1ヶ月程度とお考えください。ソフトウェアのご注文お受けします。Board1用スケッチやC/C++でのRTOSプログラムはもちろん、iPhoneとBoard1の連携、Board1とThingSpeak.comやHeroku.comとの連携なども対応可能です。以下の写真にあるような「センサーとOLEDをつないで計測結果をOLEDに表示してThingSpeak.comへ送信するもの」なら、1万円程度です(センサーが私の手元にある場合の金額です。ない場合は貸与またはご提供ください)。
お問い合わせは、emailにて info@kurahashi-ya.com までお願いします。
■バージョンなど■
2016-04-28 ver 1.0 発売2016-10-25 ver 1.1 発売(LED色とプルアップ抵抗値を変更)
2017-03-10 ver 1.1 lot 2を出荷しました。
■謝辞■
- アナログセンス皆無の私に貴重なデータやノウハウをご提供くださった羽澤さん、おかげさまでESPが一段と安定して動くようになりました。
- ツッコミ役の林さん、おかげで便利な製品に仕上げることができました。
- 大野さん、部品調達などに関する情報収集本当に助かりました。
- このボードを設計するためにEagleのライブラリ部品を多数使わせていただきました。各ライブラリの作者の皆様に感謝致します。
- 信じられない価格と納期でこの製品を組立ててくださったElecrowさん、私のうっかりで振り回してしまって申し訳ありませんでした。
- そして、ここには書ききれない多くの皆様も含めて、お礼申し上げます。ありがとうございました。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。