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からプログラムを書き込むことのできる変換ボードを制作してみました。

f:id:mnishikawa:20200620192336j:plain

ESP-WROOM-02Arduino書き込み基板

 

目次

 

 

こんなふうに動きます&製作過程の動画

まずは、動作概要と今回の作業概要の概要を動画にまとめましたので御覧ください。 


ESP-WROOM-02 DIP化キット用Arduino書き換えボードの製作

 

 

ブレッドボードでの基本設計と回路図

書き込みができた回路図はこちらです。

f:id:mnishikawa:20200621170132j:plain

ESP-WROOM-02Arduino書き込み基板の回路図

Fritzingで作った回路図はgithubで公開しています。

github.com

 

自分のメモ用ですが、ポイントは次のとおりです。

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入力してリセットできるようにしておく

 

このピン設定にあわせて、先ずはブレッドボードで動作確認します。

実装例はこちら。

f:id:mnishikawa:20200620164137j:plain

ブレッドボードでの実装例

 

USBシリアルは、Arduino pro mini互換ボードにおまけでついてきたものを使っていますが、FTDIドライバに対応したものであればOKだと思います。同じピンアサインのものはこちら。 

 

 

ArduinoSDKへの設定

事前にボードマネージャでESP8266のライブラリをインストールするなどの準備については、製品サイト等に手順があるので準備をしておいてください。

ubuntu18環境でのArduinoSDK設定は次のとおりです。

f:id:mnishikawa:20200621171729j:plain

ArduinoSDK設定(ubuntu18環境)

主要な設定項目と設定値は以下のとおりです。

設定項目 設定値
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点滅基板がこちら。

f:id:mnishikawa:20200620224739j:plain

LED点滅の動作確認

 

ユニバーサル基板への実装

ブレッドボードで動作が確認できたら、ユニバーサル基板に実装します。

秋月の「ESP-WROOM-02 DIP化キット」 (鍵みたいな形をしてるほう)様にコネクタを実装しました。後述しますが、同等の基板実装済みモジュールには、変換基盤を作って、両方使えるようにします。

実装例はこちら。

f:id:mnishikawa:20200620192638j:plain

ユニバーサル基板への実装

 

f:id:mnishikawa:20200620192722j:plain

ユニバーサル基板への実装

 

f:id:mnishikawa:20200620192954j:plain

ユニバーサル基板への実装

f:id:mnishikawa:20200620192928j:plain

ユニバーサル基板への実装

モジュールの抜き差しなどで基板にストレスがかかることも多くなることが予想されるため、できるだけジャンパケーブルを抑えた実装にしてみました。
 ご参考程度に。

 

 

別タイプのDIP化モジュール用変換基板の製作

秋月電子には、ESP-WROOM-02実装済みの基板セットが2種類あります。上記実装例では、鍵型の基板に実装されたものですが、もう一種類、四角いタイプがあります。

基本的には同じモジュールなので、変換基盤を作って両方に接続できるようにしました。

f:id:mnishikawa:20200620224940j:plain

f:id:mnishikawa:20200620225030j:plain

f:id:mnishikawa:20200620225128j:plain

ESP-WROOM-02Arduino書き込み基板(変換アダプタ)

こちらも同じ回路で書き込みができることを確認しました。

 

まとめと今後

安価でWiFiにも接続できるArduinoモジュール「ESP-WROOM-02」のArduino用書き込み基板を制作することができました。このモジュールは小型・省電力なので、以前作った早押しクイズ用大型ボタンに直接埋め込んで電池駆動させ、単独で動作させることができます。1個250円のモジュール(変換基盤付きで580円)なので、数量を作る際に有利になるため、各種イベントでの使用も考えていきたいと思います。

 

 

参考にさせていただいた情報

今回の製作にあたっては、下記の情報を参考にさせていただきました。

有益な情報をまとめていただきありがとうございます。

 

ht-deko.com

 

kinokorori.hatenablog.com

 

 

 

今回使った主要パーツリスト

最後に、今回の製作に使った主要パーツをリストアップしておきます。

 

akizukidenshi.com

 

今回の書き込み基板で書き込めまて同じ様に動作しました。上記DIP化キットと基板形状が違うだけと考えていただいてOKです。2020年6月時点ではこちらのほうが70円安い。

akizukidenshi.com

 

  • USBシリアルコネクタ 

 

  •  三端子レギュレータ

akizukidenshi.com

 

 

  • ユニバーサル基板 

  

  •  抵抗

   

  • シール基板
サンハヤト シール基板 ICB-052

サンハヤト シール基板 ICB-052

  • メディア: Tools & Hardware
 

 

  •  タクトスイッチ

  

 

  • スイッチ 

 

  •  ピンヘッダ