ESP8266(ESP-WROOM-02)開発ボードの作成

現在はESP8266の後継品ESP32が主流かと思います。ESP32はピン数が多いので用途によってはピン数の少ないESP8266のほうが扱いやすいかもしれません。
ESP8266に関してはnodemcu(ESP12E)で少し遊んでいたのですが今回ESP-WROOM-02(ICのみ)を入手したので今更ですがESP8266の開発ボードを作成してみました。

回路図(pdf) esp8266


USB-TTLシリアル変換にはarduinoのCH340GをRTSを有効にして使用しました。
Auto Programはnodemcuタイプ

ピッチ変換基板は手作業で作成してみます。


GNDピン位置に抵抗などの切った足をはんだ付けします。
モジュールのケースもGNDに落ちているので放熱を兼ねて基板に密着してはんだ付け。


両サイドにはピンソケットを立てています。
リード線をはんだ付け。(リード線は直径1mmを使用)
ピンヘッダを立てて。
リード線は作業しやすい長さで。


3V3とGNDは最短距離ではんだ付けしました。
とぐろを巻いているが気にしない。
ピンヘッダの間隔はスイッチサイエンスの変換基板と同じ。
ピンソケットを利用してブレッドボードシールドなども作成可能と思います。


ベースボードはESP32に対しても流用可能と踏んでいるのですがいろいろ検討しています。


取り敢えずはLEDシールドを載せています。
基板には直接3mmタップを立てています。でも1箇所欠けてしまいました。(・・;)
ベースはポリカプラダンの切れ端を利用。

通電してみる

モジュールをセットする前に3V3ピンで3.3Vを確認してから取り付けます。

raspberry pi3にesptoolを導入します。
esptool – ESP8266およびESP32シリアルブートローダユーティリティ

$ pip install esptool

インストールしたesptoolは~/.local/bin/に保存されます。
パスが通ってないので設定ファイルを作成
~/.bash_profile(無ければ新規作成)ホームディレクトリは適当に

export PATH=${PATH}:/home/pi/.local/bin
$ esptool.py -p /dev/ttyUSB0 -b 115200 chip_id
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Uploading stub...
Running stub...
Stub running...
Chip ID: 0x0091e666
Hard resetting via RTS pin...
$ esptool.py -p /dev/ttyUSB0 -b 115200 flash_id
esptool.py v2.3.1
Connecting......
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Uploading stub...
Running stub...
Stub running...
Manufacturer: a1
Device: 4015
Detected flash size: 2MB
Hard resetting via RTS pin...

ファームウェアの書き換えもesptool.pyから可能です。(コマンドラインからなので少しわかりにくいですが)
あとはArduinoIDEにESP8266ボードをインストールして確認OKですね。

現状の問題点


ArduinoIDEからの読み書きもOKなのですがUpload Speedを921600で長いUSBケーブルを使用すると書き込みに失敗してしまいます。(短いケーブル20cmはOK)
長いUSBケーブルで460800はOK


前回作成したcp2102 usb-シリアル変換モジュールで試してみます。
RTS信号が無いのでスイッチ操作でプログラム書き込みモードにします。
こちらはOKですね。どうもCH340Gモジュールの作り方が下手糞のようです。
また新たに適当なモジュールを探してみます。


次回は当サイトにとって使いやすいと思うWiFiWebServerスケッチの雛形について考察してみたいと思います。