11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【電子工作/PCB】ESP-01(ESP8266)のプログラム(スケッチ)書き込みボードを作ってみました!

Arduinoに外部接続して使えるWi-FiモジュールにESP-01(ESP8266)があります。
ESP-01は非常に小型なWi-FiモジュールとなりArduinoなどの無線機能を標準で持たないマイコンボードに接続して使えるWi-Fiモジュールとなります。

小型で非常に使いやすいWi-Fiモジュールなので、これまで製作したものにいくつか使いました。
例えばこちらは3Dプリントパーツで作ったラジコンですが、手乗りサイズに収めるにはハード部分を収納するスペースに制限が出てくることからArduino Pro MiniとESP-01という組み合わせで小型化させ、Wi-Fi経由で操作することが出来るラジコンとして製作しました。

また、さらに小型化したこちらのMini TankにもESP-01を使いました。
スケッチ書き込みのしやすさから最終的にWeMos D1 Miniを使ったバージョンのものを公開しています!

【電子工作】ESP8266で動かすミニラジコン「Mini Tank」の製作!【WeMos D1 Mini】

ESP-01はArduinoなどの無線機能を持たないマイコンボードと外部接続するWi-Fiモジュールとして使う以外にも、ESP-01自体にスケッチを書き込みこれ単体でミニArduinoのように動かすことも出来る小型で使いやすいWi-Fiモジュールなのでこれまでいくつかの作例をご紹介しました。

ESP-01関連の記事一覧

ESP-01はESP−WROOM-02のように技適が取得されたモジュールではないためその使用には注意が必要ですが、ArduinoやESP系のマイコンボードの学習用としては最適で便利に使えるWi-Fiモジュールです。

しかし小型モジュールなのでUSB-シリアル変換器が搭載されていません。
そのためESP-01にスケッチを書き込みたい場合やATコマンドでのやり取り、ファームウェアの書き換えなどを行う場合にUSB-シリアル変換モジュールを接続して行う必要があります。

また、ESP系のマイコンボードを使ったことがある方ならご存知だと思いますが、ESP-01(ESP8266)は起動時(電源投入時)のGPIO0の状態(HIGH or LOW)によりプログラム書き込みモードとプログラム実行モードの2つの起動モードが存在します。
ESP-01にスケッチを書き込みたい、または既に書き込まれたスケッチを実行したい場合で微妙に接続方法が異なってきます。

詳しくはこちらの記事も参考にして下さい!

【Arduino】小型Wi-FiモジュールESP8266(ESP-01)の基本的な使い方!スケッチの書き込み&モジュール単体で動かす基本的な方法!

便利なモジュールなんですが、このように使用に関しては少し手間がかかる部分もあります。
そのため、ESP-01にスケッチを書き込むためのこのような専用プログラムボードも販売されています。
USB-シリアル変換モジュールにGPIO0ピンの状態を変えるスライドスイッチが付いたものとなります。

このプログラムボードが上手く機能してくれれば配線の手間などなく簡単にESP-01にスケッチの書き込みが行えるわけなんですが・・・しかし多くの場合で動作しないかハードウェアの変更が必要となってくるようです。

このプログラムボードにはいくつかのバージョン(ロット)があるようです。
私の持っているボードは全く動作してくれないため、ESP-01にスケッチを書き込みたい場合や書き込まれたスケッチを実行したい場合は毎回ブレッドボードにそれぞれに対応した配線をして使っていました。
便利なWi-Fiモジュールなんですが、この点だけ毎回面倒なんですよねー!

このESP-01専用のプログラムボードの不具合に関しては多くの方が配線やスイッチを追加するなどの手を加えて使っているようです。
そのまま問題なく使えるロット?バージョン?のボードもあるようですが・・・これに関してはこちらの記事が参考になると思います。

参考 ESP-01 Programmers ComparedTECH-SPY

そんなことで毎回ブレッドボードに配線して接続するのが面倒なので、ESP-01にスケッチやファームウェアを書き込む、またはスケッチを実行するためのこのようなボードを製作してみました。

オリジナル基板製作のため最近KiCadの勉強をしているのですが、回路規模が小さい練習用基板として作ったものとなります。
簡単なものですが上手く機能してくれESP-01を便利に使えるようになりました。

上記写真のようにFTDI USB−シリアル変換モジュールを挿し込んで使う形状にしています。
販売されているプログラムボードのように直接PCのUSB端子に接続するより、PCに繋いだUSBケーブルを延ばしてUSB−シリアル変換モジュールと接続して使う・・・このような形状の方がやはり使いやすいですね!

今回オリジナル基板として製作しましたが回路構成は非常に簡単です。
RESET端子とGPIO0端子にプルアップ抵抗を接続し2つのタクトスイッチを取り付け、ESP-01のリセットと書き込みモードを変更出来るようにしているだけのボードです。(ESP-01の各IOピンも外部に取り出せるようにしています)

ESP-01をよく使われる方はユニバーサル基板などを使って作っておくと便利だと思います。

実はCADでの配線ミスでプルアップ抵抗を1つカットして使っています。
無くても動くことは分かっていましたが・・・初めての基板製作なので一発ではなかなか上手くいかないものですね!

[PROG]ボタンを押しながらUSB-シリアル変換モジュールに電源を投入するとESP-01は書き込みモードで起動します。
また既に電源が投入されている場合は、[PROG]ボタンを押しながら[RESET]ボタンを押すと同様にプログラム書き込みモードでESP-01が起動します。

スケッチを書き込み後、[RESET]ボタンを押すと通常のプログラム実行モードでESP-01が起動します。
非常に簡単な構成ですね!
しかしこれを毎回ブレッドボードに配線するのは非常に面倒なんですよねー!

ESP-01はWi-Fi動作時にはそこそこ高い電流が必要なのでPCと接続したUSB-シリアル変換モジュールからの電力供給だけでは電流不足となる場合があるので、3.3Vレギュレータも入れようかと思ったのですが・・・初めてのオリジナル基板製作ということで今回はシンプルな構成にしておきました。

ちなみに今回製作した基板は、中国の基板メーカーJLCPCBさんに発注しました。
基板サイズは2.5cm×3.5cmとなりこのサイズのものなら(10cm×10cm以内のサイズ)基板5枚の製作料が2ドルほど(約300円)で作ることが出来ます。

そしてJLCPCBさんでは海外発送の送料区分にお安いOCSやOCS NEPを使うことも出来ます。
基板作成&送料を合わせてもこのサイズの基板なら1000円以下と非常にお安く基板を作ることが出来ました。
これは驚きですね!

また別記事で詳しくご紹介できればと思います。

電子工作を始めた当初からいつかは作ってみたいと考えていたオリジナル基板の製作ですが、実際に作ってみると非常に楽しく便利なものです。

オリジナルの基板が作れれば、基板サイズや基板固定用のビス穴の位置・サイズなど自由に作ることが出来るので製作物への取り付けなどの制約もなくなり、そして出来ることの幅も広がりそうですね!

Arduinoを使った電子工作をやっているとオリジナルのシールドなんかも作ってみたくなりますよね!
次はこのようなArduino用の無線シールドの製作も考えています。

また、製作物を作るたびにそれを操作出来るものが必要となりますが、このようなコントローラーを一つ作っておくとArduinoに限らずESP系のマイコンボードなどの操作にも使うことが出来るので便利じゃないかな?なんてことも考えています。

なかなか楽しい工作ですね!
またご紹介できればと思います。

コメントを残す