LoginSignup
0
0

ESP32-C3-WROOM-02の開発環境を構築する

Last updated at Posted at 2024-02-20

はじめに

今回はESP32-C3-WROOM-02をArduino開発環境で扱う方法について調べてみました。型番が似ていることからも推測できるように有名なESP-WROOM-02と形状は全く同じですが、Wi-Fiに加えてBLEも内蔵し、USB機能が追加されている点は大きな特徴だと思います。他のESP32に比べると省略されている機能も多いですが、RISC-Vを採用したCPUに変更されたことで低消費電力、低価格を実現しています。また、技適も取得しているため、安心して使えます。
chip.jpg

開発環境

  • Windows 11 Home 22H2
  • Arduino IDE 2.3.0
  • Arduino Core for the ESP32 2.0.4

ESP32-C3-WROOM-02

ここではESP32-C3-WROOM-02を従来からも広く使用されているESP-WROOM-32と比較してみます。

ESP-WROOM-32 ESP32-C3-WROOM-02
CPU Xtensa LX6 RISC-V
コア数 2 1
ビット数 32ビット 32ビット
クロック周波数 240MHz 160MHz
ROM 4MB 4MB
RAM 520kB 400kB
GPIO 32 15
ADC 16 6
DAC 2 -
UART 3 1
SPI 4 1
IIC 2 1
Wi-Fi 2.4GHz 2.4GHz
Bluetooth 4.2 5.0
USB - 1
発売日 2017年2月1日 2022年12月8日
価格 550円 310円

注意としては対応するBluetoothの規格がBLEのみである点です。磁気センサやタッチセンサも省略されています。このように見ると機能は控え目ですが、手軽にBLEが利用できるという点では活躍しそうです。

以下のURLよりデータシートをダウンロードできます。
https://akizukidenshi.com/goodsaffix/esp32-c3-wroom-02_datasheet_en.pdf

回路構成

確認用のLEDをGPIO20に接続しました。ENは常にプルアップしておく必要があります。GPIO2とGPIO8もプルアップすることが推奨されていますが、未接続でも動作しました。
picture.jpg
USBから供給される5Vは3端子レギュレータで3.3Vに変換しています。入力側と出力側に0.1uFのコンデンサを接続しました。

以下のURLよりデータシートをダウンロードできます。
https://akizukidenshi.com/goodsaffix/NJU7223_j.pdf

部品表

主に使用した部品は以下の通りです。全て秋月電子通商より購入できます。今回は何となく手元にあったmicro-B端子を使用していますが、代わりにType-A端子やType-C端子を使用しても構いません。

販売コード 部品名 単価
117493 ESP32-C3-WROOM-02-N4 310円
100432 NJU7223F33 50円
106656 AE-USB-MICRO-B-D 200円
100317 EIC-364 600円

ESP32-C3-WROOM-02は従来からも広く使用されているESP-WROOM-02と形状が全く同じです。そのため、秋月電子通商のピッチ変換基板を使用できそうですが、肝心のピン配置が異なるので実際には無理でした。そこで、自作のピッチ変換基板を使用しました。送料を含めても1枚当たり約85円なので格安です。

ドライバ

まだ何も書き込まれていない状態のESP32-C3-WROOM-02をUSB経由でPCに接続した場合、接続や切断が頻繁に繰り返されているような状態となります。そのため、以下のコマンドをPowerShellに貼り付けて実行し、専用のドライバをインストールしておく必要があります。

Invoke-WebRequest 'https://dl.espressif.com/dl/idf-env/idf-env.exe' -OutFile .\idf-env.exe; .\idf-env.exe driver install --espressif

書き込み

書き込み方法としてはUART経由、USB経由の2種類から選べますが、今回は目玉であるUSB機能を利用してみたいと思います。USBシリアル変換ICなどは不要です。USBの信号線と直結するだけなので非常に簡単です。

USB ESP32-C3-WROOM-02
D+ GPIO19
D- GPIO18
GND GND

Arduino開発環境で扱うため、設定画面を開き、ESP32のボードマネージャを追加します。

以下のURLを所定欄に貼り付けます。
https://espressif.github.io/arduino-esp32/package_esp32_index.json

その後、ボードマネージャからESP32と検索し、インストールします。
screenshot-1.png
ボードの種類としてはESP32C3 Dev Moduleを選択します。なお、USB経由でシリアルモニタを利用するためにはUSB CDC on Bootを有効化しておく必要があります。
screenshot-2.png
ESP32-C3-WROOM-02が接続されているCOMポートを選択し、書き込みます。起動モードを切り替える必要はなく、そのまま動作中でも書き込み可能でした。

プログラム

例の如くLEDの点滅を試してみました。

blink.ino
#define LED_PIN 20

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(100);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

おわりに

これで開発環境が構築できました。ESP32-C3-WROOM-02を搭載した開発ボードも自作している最中なので完成したら公開します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0