ホーム > Arduino, Physical Computing > ESP8266をArduino環境で使うUse ESP8266 with Arduino

ESP8266をArduino環境で使うUse ESP8266 with Arduino

2015 年 11 月 2 日

Arduino環境からESP8266を使うための開発ボードを試作しました。

wifi-tng01

スイッチサイエンスさんのプロトタイプ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の信号をそのまま両側にピンを出しています。両側に、電源とグランドを足しました。
WiFi-TNG Schematic

WiFi-TNG Schematic

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を動かします。

esp-blink

ボードに”Generic ESP2866 Module”を指定し、ポートに”/dev/cu.usbserial-XXXXX”(FTDIチップに書き込まれたシリアル番号)を指定します。

他はディフォルトの値で大丈夫でした。これで普通に書き込みができるはずです。

(了)

カテゴリー: Arduino, Physical Computing タグ:
コメントは受け付けていません。