Arduino IDE で ESP-WROOM-02 にプログラムを書きこむ手順

ESP-WROOM-02(ESP8266)初期状態はシリアルWi-Fiモジュールですが以下設定を行うことにより単体で Arduino として動作する事が可能です。チップ単体だとピッチ幅が狭いので下図のような変換ボード付きの物が使いやすいです。

<a target="_blank"  href="https://www.amazon.co.jp/gp/product/B01C8B67CS/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B01C8B67CS&linkCode=as2&tag=bluemooninc-22&linkId=304465f9e0d00a02596a2b80365b6fd1"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=B01C8B67CS&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=bluemooninc-22" ></a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=bluemooninc-22&l=am2&o=9&a=B01C8B67CS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

# Arduino IDE の設定

ArduinoIDE を開いて、「ファイル」→「環境設定」→「（下方にある）Additional Boards Manager URLs:」の欄に以下を設定します。

```
http://arduino.esp8266.com/stable/package_esp8266com_index.json
```

<img width="811" alt="スクリーンショット 2018-02-04 3.14.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/17f0038a-145e-48aa-a1d4-770bc49bff81.png">


「ツール」 → 「ボード」→「Boards Manager」から以下のボードモジュールを選択してインストールします。

```
esp8266 by ESP8266 Community
```

<img width="809" alt="スクリーンショット 2018-02-04 3.07.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/cfba4b21-9403-40a6-6edc-b923fa5cfe9d.png">



ボードマネージャーからESP8266 Generic Module を選択します。
<img width="813" alt="スクリーンショット 2018-02-04 3.10.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/692689dd-c6df-ba3f-a8e2-8f725526e3e1.png">

また、ボード書込み設定を「ツール」より以下の様に設定します。

```
Flash Mode: DIO
Flash Size: 4M(1M SPIFFS)
Reset Method: ck
Upload Speed: 115200
```
主要なオプションは以上ですが、画面キャプチャーで追加オプションを示します。

<img width="695" alt="スクリーンショット 2018-02-04 3.01.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/6f4f6d0d-5d02-be40-8b03-19405df8b919.png">

USB-TTL変換ボードは、Mac Bookで動作確認できたものとして型番「FT232RL」ボードです。

<a target="_blank"  href="https://www.amazon.co.jp/gp/product/B00YMJVSIS/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B00YMJVSIS&linkCode=as2&tag=bluemooninc-22&linkId=15a2f10727f8d98a038153d71b9682c0"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=B00YMJVSIS&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=bluemooninc-22" ></a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=bluemooninc-22&l=am2&o=9&a=B00YMJVSIS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

また、Windowsでも、型番「CP2101」ボードが確認できました。ESP8266への接続はUSB-TTLのTXD,RXDからESP8266のTXD,RXDにクロス接続します。また、GND接続も必要です。GND接続を省略した回路図では電源を別途PC->ESP8266に接続することでGNDが接続できます。この場合、PCのUSB２つのポートからそれぞれ電源とUSB-TTLと２つ同時にケーブルを接続する事になります。

<a target="_blank"  href="https://www.amazon.co.jp/gp/product/B008RF73CS/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B008RF73CS&linkCode=as2&tag=bluemooninc-22&linkId=e635172efd594e6dbfd6e2f6f6f9bfbc"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=B008RF73CS&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=bluemooninc-22" ></a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=bluemooninc-22&l=am2&o=9&a=B008RF73CS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

```
USB-TTL TXD -> ESP8266 RXD
USB-TTL RXD -> ESP8266 TXD
USB-TTL GND -> ESP8266 GND
```

# 電源について

ESP8266は3.3Vで駆動します。USB-TTLの3.3V出力から接続することができます。しかし、USBからは直接接続できないので下図のような３端子レギュレータを使って5V->3.3Vに変換します。また、消費電力が大きいので入力側に0.1μFのプラスチックコンデンサ、出力側に100μFの電解コンデンサを並列接続します。

<a href="https://www.amazon.co.jp/Kaito-Denshi-%E6%B5%B7%E6%B8%A1%E9%9B%BB%E5%AD%90-%E5%8F%AF%E5%A4%89%E9%9B%BB%E5%9C%A73%E7%AB%AF%E5%AD%90%E3%83%AC%E3%82%AE%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF-LM317T/dp/B06XDMLKG1/ref=as_li_ss_il?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%EF%BC%93%E7%AB%AF%E5%AD%90%E3%83%AC%E3%82%AE%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF+5V-%3E3.3V&qid=1572262806&sr=8-1-fkmr3&linkCode=li2&tag=bluemooninc-22&linkId=5e40240cd73b2d5d0f27d5d01e39cd38&language=ja_JP" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B06XDMLKG1&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=bluemooninc-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=bluemooninc-22&language=ja_JP&l=li2&o=9&a=B06XDMLKG1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />


以上でコンパイルしてアップロードできる様になります。

# 応用

上記資料を元に回路設計CADにデータを起こしたのが下図です。3.3Vの電源供給部分と2つのLED、プッシュスイッチがセットになったものです。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/40217/03307011-b2eb-7a53-a9de-9466caf3431e.png)

回路図を元にブレッドボードで動作確認しユニバーサルボードで実装したものが下図です。ここまでくればプロトタイプとしては完成形です。

<img width="541" alt="Screen Shot 2018-03-27 at 22.50.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/e5a59ead-ea1b-bb41-c4ee-c71c700a4962.png">

今回描いた回路図は基盤CADによるアートワークにまで進み CADLUS X でアートワークもデザインしました。ここまで来るとかなり本格的ものとなります。

<img width="394" alt="Screen Shot 2018-03-27 at 22.56.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/40217/6d6f90f5-f455-cdaf-a3ec-7a7bf3d8b614.png">

この様に ESP8266 を使う事でIoT機器を手早く市販品として出荷できる時代が来ました。電子機器メーカーでなくてもアイデア次第で市場に挑戦できるなんて、本当にワクワクしますね。