ESP-WROOM-02 DIP化キット用Arduino書き換えボードの製作
先日、いくつか作った早押しクイズ用WiFi接続大型ボタンではM5StickCを使っていました。入手性も良く、状態表示もできて開発には便利なのですが、1つあたり2000円弱するので、せっかく100均でボタンを買ってきてもそれほどお手頃なデバイスではありませんでした。
今回は、この早押しクイズ用WiFi接続ボタンのように、無線接続デバイスに内蔵できるボードで、できるだけ小型でコストの安いものということで、「ESP-WROOM-02」を使ってみました。「ESP-WROOM-02」は2020年6月時点、秋月電子でモジュールだけだと1個250円、DIP変換基板実装済みのものでも580円と、前述のM5StickCよりも大幅にコストダウンできます。
「ESP-WROOM-02」は、PCに接続してそのまま開発できるUSBシリアル付きのものもありますが、これも2000円ぐらいするので、あまり意味がありません。今回は、素の「ESP-WROOM-02」にUSBシリアルケーブルを使ってArduinoSDKからプログラムを書き込むことのできる変換ボードを制作してみました。
目次
- 目次
- こんなふうに動きます&製作過程の動画
- ブレッドボードでの基本設計と回路図
- ArduinoSDKへの設定
- ユニバーサル基板への実装
- 別タイプのDIP化モジュール用変換基板の製作
- まとめと今後
- 参考にさせていただいた情報
- 今回使った主要パーツリスト
こんなふうに動きます&製作過程の動画
まずは、動作概要と今回の作業概要の概要を動画にまとめましたので御覧ください。
ESP-WROOM-02 DIP化キット用Arduino書き換えボードの製作
ブレッドボードでの基本設計と回路図
書き込みができた回路図はこちらです。
Fritzingで作った回路図はgithubで公開しています。
自分のメモ用ですが、ポイントは次のとおりです。
Arduino書き込み時、ESP-WROOM-02の各ピンの要求設定です。
ESP-WROOM-02のピン | 接続設計 | 備考 |
3.3V | 3.3Vを入力 | PCと接続するUSBシリアルのVCCは5Vなので、3.3V出力の三端子レギュレータを使用。 |
EN | 1kΩでプルアップ | EN-GND間に0.1μFのコンデンサを接続 |
IO15 | 10kΩでプルダウン | |
IO2 | 10kΩでプルアップ | |
IO0 | 10kΩでプルアップ | 書き込み時はプルアップ。 プログラム実行時はプルダウンしてLOWにすること。 |
GND | GNDに接続 | |
TXD | USBシリアルのRXDに接続 | |
RXD | USBシリアルのTXDに接続 | |
RST | 10kΩでプルアップ &GND接続スイッチを接続 |
EN-GND間に0.1μFのコンデンサを接続 スイッチを押したらGND入力してリセットできるようにしておく |
このピン設定にあわせて、先ずはブレッドボードで動作確認します。
実装例はこちら。
USBシリアルは、Arduino pro mini互換ボードにおまけでついてきたものを使っていますが、FTDIドライバに対応したものであればOKだと思います。同じピンアサインのものはこちら。
ArduinoSDKへの設定
事前にボードマネージャでESP8266のライブラリをインストールするなどの準備については、製品サイト等に手順があるので準備をしておいてください。
ubuntu18環境でのArduinoSDK設定は次のとおりです。
主要な設定項目と設定値は以下のとおりです。
設定項目 | 設定値 |
Upload Speed | 115200 |
Buildin Led | 13 |
Flash Mode | QIO(Fast) |
Reset Method | no dtr(aka ck) |
動画でも紹介していますが、ArduinoサンプルスケッチのBlinkを使って、IO13に接続したLEDを1秒毎にチカチカさせるプログラムで動作確認しました。
ESP-WROOM-02のフラッシュに書き込んだプログラムを動作させる際は、書き込み基板設計時とは違い、IO0をLOWにすることを忘れないようにしてください。
ESP-WROOM-02 は起動時に IO15 / IO2 / IO0 の状態を見て動作モードを決定しています。
IO15 | IO2 | IO0 | |
プログラム実行 | LOW | HIGH | HIGH |
プログラム書き込み | LOW | HIGH | LOW |
引用:ESP-WROOM-02
書き込んだESP-WROOM-02の動作確認用LED点滅基板がこちら。
ユニバーサル基板への実装
ブレッドボードで動作が確認できたら、ユニバーサル基板に実装します。
秋月の「ESP-WROOM-02 DIP化キット」 (鍵みたいな形をしてるほう)様にコネクタを実装しました。後述しますが、同等の基板実装済みモジュールには、変換基盤を作って、両方使えるようにします。
実装例はこちら。
モジュールの抜き差しなどで基板にストレスがかかることも多くなることが予想されるため、できるだけジャンパケーブルを抑えた実装にしてみました。
ご参考程度に。
別タイプのDIP化モジュール用変換基板の製作
秋月電子には、ESP-WROOM-02実装済みの基板セットが2種類あります。上記実装例では、鍵型の基板に実装されたものですが、もう一種類、四角いタイプがあります。
基本的には同じモジュールなので、変換基盤を作って両方に接続できるようにしました。
こちらも同じ回路で書き込みができることを確認しました。
まとめと今後
安価でWiFiにも接続できるArduinoモジュール「ESP-WROOM-02」のArduino用書き込み基板を制作することができました。このモジュールは小型・省電力なので、以前作った早押しクイズ用大型ボタンに直接埋め込んで電池駆動させ、単独で動作させることができます。1個250円のモジュール(変換基盤付きで580円)なので、数量を作る際に有利になるため、各種イベントでの使用も考えていきたいと思います。
参考にさせていただいた情報
今回の製作にあたっては、下記の情報を参考にさせていただきました。
有益な情報をまとめていただきありがとうございます。
今回使った主要パーツリスト
最後に、今回の製作に使った主要パーツをリストアップしておきます。
- ESP-WROOM-02 DIP化キット
- ESP-WROOM-02ピッチ変換キット
今回の書き込み基板で書き込めまて同じ様に動作しました。上記DIP化キットと基板形状が違うだけと考えていただいてOKです。2020年6月時点ではこちらのほうが70円安い。
- USBシリアルコネクタ
- 三端子レギュレータ
- ユニバーサル基板
- 抵抗
- シール基板
- タクトスイッチ
- スイッチ
- ピンヘッダ