wonderCodeの日記

プログラミングの覚え書き

ESPr® Developer 32の開発環境構築

開発環境

必要なもの

  • ESPr® Developer 32
    スイッチサイエンスのESP-WROOM-32搭載開発ボード
  • ピンヘッダ 20P x 2
  • 幅が広いブレッドボード
    ESPr® Developer 32 は幅が広い。
    普通のブレッドボードだと幅が足りず、両側から配線を引き出せない。
  • セラミックコンデンサ 0.1μF x 2
    スケッチのアップロードが自動でできなかったため追加
  • その他
    はんだごて、はんだ、ジャンパ線、USBケーブルは適宜用意

経緯

Arduino互換機?は、動かないとかトラブルがあったら嫌だなということで、
とりあえず純正品を使っていました。
ArduinoiPhoneでやり取りしたいということになってくると、
BluetoothWiFiが必要になってくるが、Arduinoには搭載されていない。
ESP32は、BluetoothWiFi搭載されていて、
割とメジャーな感じだったので、導入に踏み切りました。

開発環境構築手順

1. ピンヘッダをはんだづけ
合計40ヶ所、頑張ってはんだづけしましょう。
今回は、ピンヘッダ未実装の開発ボードを使用しましたが、
ピンヘッダ実装済のを購入すれば、はんだづけは不要です。

2. USB-シリアル変換IC(FT231XS)ドライバ
Espressifの開発ボードとは、シリアル変換ICの種類が違うので注意。
ESPr® Developer 32で必要なのは、以下のドライバです。
USB-シリアル変換IC(FT231XS)ドライバダウンロード先
ごちゃごちゃしていて分かりにくいのですが、
VCP DriversのMac OS X10.15 and macOS 11用をダウンロードして、インストールします。

USB-シリアル変換IC FT231XSドライバダウンロード
USB-シリアル変換IC FT231XSドライバダウンロード

3. 追加のボードマネージャのURLを追加
Arduino IDE(1.8.13を使用)はインストール済とします。
Arduino->Preferencesと選択して、以下のURLを追加します。
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

4. ボードマネージャでesp32をインストール
ツール->ボード->ボードマネージャーで、esp32を検索して、
esp32(バージョン2.0.1)をインストール。
ボードは、ESP32 Arduino->ESP32 Dev Moduleを選択。

5. シリアルポートで、「cu.usbserial-D309D3VH」を選択
ESPr® Developer 32とMacをUSBで接続後、
ツール->シリアルポートで、「cu.usbserial-D309D3VH」を選択します。

6. スケッチをマイコンボードに書き込み
後は適当なスケッチを用意して、マイコンボードに書き込むだけです。
ESP-WROOM-32のセットアップについてから引用

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello World.");
  delay(10000); 
}

7.スケッチの書き込みに失敗する場合
Connecting......と表示されている時に、FLASHと書かれている方のボタンを押しっぱなしにしてください。 とりあえずはこれで書き込みできるはずです。

8.Arduinoと同様に自動で書き込みをする場合
スケッチを書き込む際、ESP32を書き込みモードで起動する必要があります。
自動でモードが切り替わる仕組みは、搭載されているのですが、
環境によっては、EN端子がHighになるタイミングが早すぎるようです。
ESPr® Developer 32 回路図
回路図を見ると、ENとGNDの間に0.01μFのコンデンサ(C6)が入れられていますが、これではまだ足りないようです。
いろいろ試してみた結果、0.1μFのコンデンサ2つ追加で落ち着きました。

コンデンサ追加回路図
コンデンサ追加回路図

9. 考察
当初の懸念通り、ドライバのインストールや自動書き込みで手こずったので、BluetoothWiFiが不要な人は、純正のArduinoの方が無難です。