ESP8266をArduino環境で使うUse ESP8266 with Arduino
2015 年 11 月 2 日
Arduino環境からESP8266を使うための開発ボードを試作しました。
スイッチサイエンスさんのプロトタイプPCBサービスのベータ版で基板を作成たのでレポートします。
1. はじめに
安価なWifiモジュールESP8266は技適も付いており、発売当初に品薄になるほどの人気です。
Arduino環境から直にプログラムを組むことができるようになり、更に便利に使えそうです。
より手軽にArduinoから使えるようにFTDI付きのインタフェースボードを設計してみました。
(ここでは、仮にWifi-TNG ,ワイファイシングと呼びます。)
2. 回路図
以下の回路を実装しています。
- USB-シリアルブリッジ(FTDI)インタフェース
- FT231Xを採用しました。
- GPIO0(モード切り替え)をDTRに、リセットをRTSに接続してあります。
- この接続で、Arduino IDEから自動的にモード切り替えを行いそのままプログラム可能です。
- 3.3Vを提供する電源回路
- LDOに少し古いAZ1117ADJを使っています。3.3V固定のチップを使う場合には、電圧決定用の抵抗が不要になります。
- このチップは入力側および出力側のコンデンサとしてタンタル電解指定です。ESRの小さいチップ電解コンデンサを使っています。
- ピッチ変換&ブレークアウト
- 当初、Arduinoのファームファクターにしようと考えたのですが、どう考えてもピン数が余るのと、基板サイズが大きくなって値段が上がるので、小さく作りました。
- 素直にESPの信号をそのまま両側にピンを出しています。両側に、電源とグランドを足しました。
3. BOM
パーツ名 | 名称 | 値 | 備考 |
AZ1117HADJ | LOD | AZ1117H-ADJ | |
C1 | チップセラコン(3216) | 10uF | |
C2,C5, C8 | チップセラコン(1608) | 0.1uF | |
C3,C4 | チップセラコン(1608) | 47pF | |
C6,C7 | タンタル・低ESR電解 | 10uF – 100uF, 6V以上 | PANASONIC_D,サイズ注意 |
F01 | ポリヒューズ | 500mA | |
FT231X | USB-Serialブリッジ | FT231X | SSOP-20タイプ |
J1 | 電源ジャック | 2.1mm | 省略可 |
JP1 | 3Pコネクタ | M03LOCK | 電源用ジャンパー |
JP2,JP3 | – | 0オーム(ハンダブリッジ) | 忘れずにハンダで埋めること |
JP4, JP5 | 9Pコネクタ | ピンコネクタ | 省略可 |
IC1 | ESP-WROOM-02 | – | |
USB | USB-Bジャック | – | |
R1,R2 | チップ抵抗(1608) | 27 | |
R3,R4 | チップ抵抗(1608) | 1k | LED電流制限抵抗、要調整 |
R5 | チップ抵抗(1608) | 200 | AZ1117H-3.3TRの場合不要 |
R6 | チップ抵抗(1608) | 120 | AZ1117H-3.3TRの場合不要 |
R7,R8 | チップ抵抗(1608) | 1k | LED電流制限抵抗、要調整 |
R9-R13 | チップ抵抗(1608) | 10k | |
RESET | タクトスイッチ | 10-XX | |
L | チップLED(1608) | 赤 | お好みで |
PWR | チップLED(1608) | 緑 | お好みで |
RX,TX | チップLED(1608) | 青 | お好みで |
4. 実装
背の低いチップセラコン、チップ抵抗から基板に実装してゆきます。先に、裏側のチップ部品を付けてしまうと良いでしょう。
作成で一箇所ミスがあり、ジャンパーが必要になります。
FT231Xの2ピンから、タクトスイッチまでジャンパー線を飛ばしました。
(2015/11/3追記。ジャンパーではなく、0.1uF経由でつなぎます)
(2016/1/6 追記。新しい基板(青)では、o.1uFのパターンがあります)
5. Arduinoから使う
EPS2866向けのArdionoコアをArduino 1.6.5にインストールします。
https://github.com/esp8266/Arduino
動作確認にはLチカが良いと思います。LEDが接続されているポートはIO4なので、ポートに4を指定してblinkを動かします。
ボードに”Generic ESP2866 Module”を指定し、ポートに”/dev/cu.usbserial-XXXXX”(FTDIチップに書き込まれたシリアル番号)を指定します。
他はディフォルトの値で大丈夫でした。これで普通に書き込みができるはずです。
(了)
カテゴリー: Arduino, Physical Computing