ArduinoでUSBシリアル変換してESP-WROOM-02に書き込む

こんにちは、山下です。

流行ってるみたいなのでESP-WROOM-02 (ESP8266)買ってみました。今回は秋月のDIP基板に乗ったものにしました。WiFi付きのArduinoが650円て考えるとお買い得すぎますね。

早速使ってみようと思ったんですが、USB-シリアル変換モジュールを持ってなかったので、Arduino Unoを使ってやってみます。Uno R3を使いますが、別にこれじゃなくてもできるはずです。

Arduinoは持ってるけどUSBシリアルアダプタは持ってないぜって人は参考にしてください。

ESPへのプログラムの書き込みにはArduino IDEを使うので、『技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法』を参考にボードを使えるようにしておきます。

まず、ESP-WROOM-02の配線は、以下を参照してください。

あと色んなところに書いてあるんですが、電源はArduinoとかから取ろうとしないで別に用意してください。乾電池2本直列の3V弱でも動きました。ほんとはレギュレータ使ってください。

で、Unoと繋ぐんですが、USBシリアル変換はATMEGA16-U2-MU(小さい黒い正方形のやつ)がやってくれるので、UnoのATmega328pチップは外してしまいます(画像参照)。その上で、

  • UnoのTX – ESPのTXD
  • UnoのRX – 1kΩ – ESPのRXD – 2kΩ – GND

こう繋ぎます。5V * 2/3 ≒ 3.3Vってことなんで、3.3VのArduinoを使う場合は抵抗いらないはずです。チップは意外と固くはまってるので、端から根気よくクイクイ持ち上げて外してください。 UnoのFTDIをそのまま使うのでRXはRX,TXはTXに繋いでください。

DSC_1428
DSC_1428

あとは、IO0をGNDに繋いで、Unoをパソコンに繋いだら、Arduino IDEからプログラムできるはずです。
esp8266/Arduinoのサンプルでも実行してみてください。

一度書き込むと次に書き込む前に、電源を落とすかRSTをGNDに短絡してリセットをかける必要があります。

DSC_1424
DSC_1424

無事ESP-WROOM-02をArduinoとして使って、WiFiの接続確認が取れました。

書き込みじゃなくてシリアル通信したいだけなら、ソフトウェアシリアルでやる方法もあります。

参考になれば幸いです!

LISPing at the end of time.