ESP-WROOM-02にArduinoのスケッチを書き込む [配線図/GPIO]
WifiモジュールのESP-WROOM-02に「Arduinoのスケッチ」を書き込み、Arduinoのように使用する方法です。これにより、マイコン本体の費用が2940円から650円になります。さらにWifiが使用できてマイコンボードのサイズが約1/3になります。
[ESP-WROOM-02単体でLEDを点滅]

※この記事ではESP-WROOM-02のファームウェアを上書きするので「ATコマンド」が使用できなくなります。
目次
1. 使用部品・材料
2. Arduino IDEへ開発ボードを追加する
3. 配線図(書込用/実行用)
4. ESP-WROOM-02のGPIO(汎用入出力)
5. スケッチ(プログラム)
6. コンパイルエラー / 書き込みエラー
1. 使用部品・材料
総額で約1980円です。(Arduinoは使用しません)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
Wi-Fiモジュール ESP-WROOM-02 DIP化キット | ¥650 | 秋月電子の通販コード(K-09758) |
FT232RL USBシリアル変換モジュール | ¥950 | 秋月電子の通販コード(K-01977) |
USBケーブル Aオス-ミニBオス 1.5m A-miniB | ¥110 | パソコンとFT232RLを接続するUSBケーブル。 秋月電子の通販コード(C-07606) |
カーボン抵抗器 | 数円 | 10kΩ(4個)、220Ω(1個)を使用 |
LED | ¥10 | 赤色(1個)を使用 |
電池と電池ボックス(任意) | 単三電池x2本と電池ボックス ※FT232RLから電源を取れば不要。 |
USBシリアル変換モジュールは1つあれば他の用途にも使用できます。
2. Arduino IDEへ開発ボードを追加する
IDEを起動してメニューの[ファイル][環境設定]を開きます。下部にある「追加のボードマネージャのURL」に次のURLを入力します。

次に[ツール][ボード]の「ボードマネージャ」を開きます。

そして、「esp8266」をインストールします。

※インストールにはしばらく時間がかかりますので待ちましょう。
インストールが完了すると開発ボードに「Generic ESP8266 Module」などが追加されます。

3. 配線図
Arduinoスケッチを書き込む際には「書き込み用」で、実行する場合は「実行用」の配線を行います。「書き込み用」と「実行用」は2つのブレッドボードに分けて用意して置くと便利です。
配線の違い
書込用 | 実行用 | |
---|---|---|
IO0 | 10kΩ抵抗経由でGND | 10kΩ抵抗経由で3.3V |
IO2 | 10kΩ抵抗経由で3.3V | NC(未接続) |
IO15 | GND | GND |
書き込み用(UART Download Mode)

実行用(Flash Boot Mode)
電池、電池ボックスがない場合は「FT232RL USBシリアル変換モジュール」の3.3V電源とGNDで代用する事が可能です。

※今回のサンプルで使用するLED関連部分を除けば汎用の配線図です。
※LEDに必要な抵抗は「3.0V / 0.03A(30mA) = 100Ω」ですが、大きめの220Ωを使用しています。
4. ESP-WROOM-02のGPIO(汎用入出力)
ESP-WROOM-02のピン番号とArduinoとの対応表です。
この表をみながらArduinoスケッチで使用できるピン番号を確認します。今回のLチカのサンプルでは「IO5」を使用しますのでpinMode(5, OUTPUT)となります。

※この表はけーいち氏によるライセンスがCC0のESP-WROOM-02用の「PinOut Diagram」です。
次はumi_kappa氏によるピンの対応表です。
デジタルInput/Output(PWM含む) 対応ピン
デジタルOutputのみ(PWM含む) 対応ピン
アナログInputのみ対応
IO0、IO2、I015は「書込、実行モードの判別」で使用されているので、避けた方が良いです。また、スケッチを書き込みする際にはGPIOのリード線(Input/Output)を抜いてから書き込みします。書き込み後は「実行用の配線」で実行します。
注意事項
TOUT(A0)の入力電圧は「0~1.0V」ですので、3.3Vからの電源を使用すると最悪、ボードが壊れる可能性があります。分圧回路などを使用して最大で1Vにする必要があります。
5. スケッチ(プログラム)
このスケッチではIO5ピンを使用してLチカをします。
Arduinoのツールバーの左から2番目のアイコンで「スケッチを書き込む」前にメニューの[ツール][ボード]で「Generic ESP8266 Module」を選択して下さい。また、[ツール][シリアルポート]も任意のポートを選択します。
※ESP8266が2.4.1の場合は[ツール]の「Crystal Frequency」を「26MHz」にするか、[ツール][ボード][ボードマネージャー]で最新版にします。
void setup() { pinMode(5, OUTPUT); } void loop() { digitalWrite(5, HIGH); delay(1000); digitalWrite(5, LOW); delay(1000); }
6. コンパイルエラー / 書き込みエラー
スケッチを連続して書き込むと、次のようなエラーが表示されます。(スケッチを書き込む度にプロテクトされるみたいです)
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
対処方法は書き込みをする前にUSBケーブルをはずして、電源を一度、落とせばOKです。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。