ESP32-C3-WROOM-02-N4 設定方法解説

**ESP32-C3-WROOM-02-N4**は安価に(秋月電子で\\340)購入できるArduino互換のマイコンですが、利用するには諸々面倒な手順を実施しないとならなかったので、解説します。  
この記事では**ESP32-C3-WROOM-02-N4**を利用するための配線とプログラム書き込みのための設定方法を解説します。  

## ピッチ変換基板へのはんだ付け

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746921400753.png" alt="image" width="30%"/>

👆左のところに、`ESP32-C3-WROOM-02-N4`を載せて、動かないように洗濯ばさみで挟んで、頑張ってはんだ付けしました。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746921745369.png" alt="image" width="50%"/>

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746923891243.png" alt="image" width="50%"/>

👆`ESP32-C3-WROOM-02-N4`と ピンソケットをはんだ付けします。  
`ESP32-C3-WROOM-02-N4`はかなり細かいので、何度もやり直ししました。  
ぱっと見、大丈夫そうでもテスターで接続確認すると繋がっていなかったり、上部カバーとショートしていたりしたので、注意が必要です。  
そんなこんなで、ぐりぐりはんだごてでつつき回しましたが、壊れることなく動作してくれました。  
※ ESP-WROOM-02用2\.54mmピッチ変換基板にプリントされたピン配置は`ESP32-C3-WROOM-02-N4`とは違っているので気を付けて下さい。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746924310998.png" alt="image" width="30%"/>

👆裏はこんな感じです。  

## 配線

### **ESP32-C3-WROOM-02-N4**をブレッドボード上で配線します

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746943935922.png" alt="image" width="70%"/>

👆配線の解説です。

#### ①--USBシリアル変換モジュールから出力される5v電源出力を、レギュレーターで3.3vへ変換します

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746941598393.png" alt="image" width="30%"/>

👆①の拡大写真。右端に接続した5v電源が、左端の端子から3.3Vで出力されます。これを`ESP32-C3-WROOM-02-N4`の電源にします。  

#### ②--3.3vのプラス極を`3V3`ピンに接続します

#### ③--`EN`ピンを10kオームの抵抗を経由してプラス極に接続、タクトスイッチを押したらマイナス極(GND)に接続されるよう配線します

これにより、タクトスイッチがリセットスイッチになります。  

#### ④--`IO8`ピンを10kオームの抵抗を経由してプラス極に接続します

これは、ブートモードを`Download Boot`に設定するためです。  
※ ESP-WROOM-02用2\.54mmピッチ変換基板にプリントされたピン配置は`ESP32-C3-WROOM-02-N4`とは違っているので気を付けて下さい。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746944536211.png" alt="image" width="70%"/>

👆ブートモード[ESP32-C3-WROOM02 Datasheet](https://akizukidenshi.com/goodsaffix/esp32-c3-wroom-02_datasheet_en.pdf) 3.3 Strapping Pins

#### ⑤--`IO9`ピンをマイナス極(GND)に接続します

これは、ブートモードを`Download Boot`に設定するためです。  

#### ⑥--`GND`ピンをマイナス極(GND)に接続します

#### ⑦--`IO2`ピンを10kオームの抵抗を経由してプラス極に接続します

これは、ブートモードを`Download Boot`に設定するためです。  
※ ESP-WROOM-02用2\.54mmピッチ変換基板にプリントされたピン配置は`ESP32-C3-WROOM-02-N4`とは違っているので気を付けて下さい。  

#### ⑧--`TXD`ピンをUSBシリアル変換モジュールの`RXD`に、`RXD`ピンをUSBシリアル変換モジュールの`TXD`に接続します

## Arduino IDE でプログラム書き込み

Arduino IDE でプログラム書き込みする手順です。  
Arduino IDEの設定については、[5 . ESP32マイコンのツール設定と接続](https://docs.saurus12.com/device/esp32_preparation)を参照下さい。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747440599527.png" alt="image" width="50%"/>

👆ボードは`ESP32C3 Dev Module`を選択します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441002975.png" alt="image" width="50%"/>

👆ポートはUSBシリアル変換モジュールの接続ポートを指定します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441129156.png" alt="image" width="50%"/>

👆`Serial Monitor`を開きます。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441245460.png" alt="image" width="50%"/>

👆通信速度は`115200`を指定します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441428311.png" alt="image" width="50%"/>  

👆この状態で、基板のタクトスイッチをぽちっと押してすぐ離します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441547280.png" alt="image" width="50%"/>

👆すると、シリアルモニターにダウンロード待ちであることを示す、`waiting for download`と出力されます。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747448109653.png" alt="image" width="50%"/>

👆中央のコード領域に下記コードを貼り付けて、アップロードボタンを押します。  

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

void loop() {
  delay(1000);
  Serial.println("test message...");
}
```

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747447442917.png" alt="image" width="50%"/>

👆アップロードが完了するとこんな感じの表示になります。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747447750739.png" alt="image" width="50%"/>

👆次にマイナス極(GND)に接続していたIO9ピンを外してから、タクトスイッチをぽちっと押してすぐ離します。  
これは、Download Bootに設定していたブートモードを通常モードに戻して再起動するためです。　　

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747448214351.png" alt="image" width="50%"/>

👆すると、下部にメッセージ"test message..."が1秒間隔で出力されます。  
これでArduino IDE でのプログラム書き込みの確認ができたことになります。  

## MicroPython でプログラム書き込み

Aruduino IDEのC言語ベースの言語はどうも苦手だという方のために、(私はそういう人ですが・・)MicroPython でプログラム書き込みする方法を解説します。  

### `esptool`のインストール

[Python](https://www.python.org/)がインストールされていることを前提に、下記コマンドで`esptool`をインストールします。  

```text
pip install esptool
```

上記コマンドでインストールは完了しており、`esptool`が使える状態になるのですが、私の場合パスが通っておらず、`esptool`の実行ができなかったので、追加手順を解説します。  
  
下記コマンドで、`esptool`のインストールパスを確認します。  

```text
pip show esptool
```

以下の出力が得られます。

```text
Name: esptool
Version: 4.8.1
Summary: A serial utility to communicate & flash code to Espressif chips.
Home-page:
Author: Fredrik Ahlberg (themadinventor), Angus Gratton (projectgus), Espressif Systems
Author-email:
License: GPLv2+
Location: C:\Users\sampleuser01\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages
Requires: bitstring, cryptography, ecdsa, intelhex, pyserial, PyYAML, reedsolo
Required-by:
```

`Location`の出力を手がかりに周辺フォルダを探すと、下記パスに`esptool`が配置されていることを確認できました。

```text
C:\Users\sampleuser01\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts\esptool.exe
```

そこで、下記パスを`PATH`環境変数に追加することで`esptool`が使えるようになりました。

```text
C:\Users\sampleuser01\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts\
```

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747450975866.png" alt="image" width="50%"/>

### ファームウェアのインストール

[ESP32-C3 Installation instructions](https://micropython.org/download/ESP32_GENERIC_C3/)を参考に`ESP32-C3-WROOM-02-N4`用の`MicroPython`ファームウェアをインストールします。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747441428311.png" alt="image" width="50%"/>  

👆まず、この状態で、基板のタクトスイッチをぽちっと押してすぐ離します。  
この操作で`ESP32-C3-WROOM-02-N4`はブートモード`Download Boot`に設定されます。  

下記コマンドでフラッシュをクリアします。  
※ ポートは利用環境に合わせて変更して下さい。  

```text
esptool --port COM8 erase_flash
```

[ESP32-C3 Installation instructions](https://micropython.org/download/ESP32_GENERIC_C3/)から最新バージョンのファームウェアをダウンロードします。  
※ 本記事執筆時点では`ESP32_GENERIC_C3-20250415-v1.25.0.bin`でした。  

ファームウェアをダウンロードしたフォルダへ移動し、下記コマンドでインストールします。  
※ ポート及びファームウェアバージョンは利用環境に合わせて変更して下さい。  

```text
esptool --port COM8 --baud 460800 write_flash 0 ESP32_GENERIC_C3-20250415-v1.25.0.bin
```

出力内容を参考に記載します。  

```text
>esptool --port COM8 --baud 460800 write_flash 0 ESP32_GENERIC_C3-20250415-v1.25.0.bin
esptool.py v4.8.1
Serial port COM8
Connecting....
Detecting chip type... ESP32-C3
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 24:ec:4a:f1:f2:84
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x001c0fff...
Compressed 1835856 bytes to 1115756...
Wrote 1835856 bytes (1115756 compressed) at 0x00000000 in 30.8 seconds (effective 476.8 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
```

### Thonnyのインストールと設定

[Thonny](https://github.com/thonny/thonny/releases)のページからインストーラをダウンロードしてインストールします。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747452460914.png" alt="image" width="50%"/>

👆Thonnyを起動し、Tools-Optionsを選択します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747452582237.png" alt="image" width="50%"/>

👆Interpreterタブの`inerpriter`に`Micropython(ESP32)`、PortにUSBシリアル変換モジュールのポートを指定します。

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747463423970.png" alt="image" width="50%"/>

👆こんな感じの表示になります。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747447750739.png" alt="image" width="50%"/>

👆マイナス極(GND)に接続していたIO9ピンを外してから、タクトスイッチをぽちっと押してすぐ離します。  
この操作で、`ESP32-C3-WROOM-02-N4`が再起動し、Download Bootに設定されていたブートモードが通常モードになります。　　

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747460390921.png" alt="image" width="50%"/>

👆Shellの領域にコンソール出力が表示されます。こんな感じの表示になります。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747463745569.png" alt="image" width="50%"/>

中央の領域に以下のサンプルコードを入力し、保存ボタンをクリックします。  

```text
import time
while True:
    time.sleep(1)
    print("test message")
```

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747463814354.png" alt="image" width="50%"/>

👆MicroPython Device を選択します。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747463898958.png" alt="image" width="50%"/>

👆File Name に`main.py`と入力し、OKをクリックします。  
`main.py`は`ESP32-C3-WROOM-02-N4`の起動時に自動実行されるファイル名です。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747447750739.png" alt="image" width="50%"/>

👆もう１回タクトスイッチをぽちっと押して再起動します。　　

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747464127969.png" alt="image" width="50%"/>

👆`ESP32-C3-WROOM-02-N4`が再起動し、１秒間隔で`test message`とコンソールに出力されます。  
これでMycroPythonでのプログラム書き込みの確認ができたことになります。

## 参考

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746942145184.png" alt="image" width="50%"/>

👆ピン配列[ESP32-C3-WROOM02 Datasheet](https://akizukidenshi.com/goodsaffix/esp32-c3-wroom-02_datasheet_en.pdf) 3.1 PinLayout

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746944536211.png" alt="image" width="70%"/>

👆ブートモード[ESP32-C3-WROOM02 Datasheet](https://akizukidenshi.com/goodsaffix/esp32-c3-wroom-02_datasheet_en.pdf) 3.3 Strapping Pins

## 用品一覧

上記の解説で使う用品とリンクです。  

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746916207160.png" alt="image" width="30%"/>

👆[Wi-Fiモジュール ESP32-C3-WROOM-02-N4](https://akizukidenshi.com/catalog/g/g117493/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746916253193.png" alt="image" width="30%"/>

👆[ESP-WROOM-02用2\.54mmピッチ変換基板](https://akizukidenshi.com/catalog/g/g109715/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746916374553.png" alt="image" width="30%"/>

👆[シングルピンソケット (低メス) 1×20 (20P)](https://akizukidenshi.com/catalog/g/g103138/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746916429923.png" alt="image" width="30%"/>

👆[低損失レギュレーター LP2950L-33-T92 3.3V100mA](https://akizukidenshi.com/catalog/g/g108749/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202504/20250429/1745910308522.png" alt="image" width="30%"/>

👆[FT-232RQ USBシリアル変換モジュール](https://akizukidenshi.com/catalog/g/g111007/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746944101908.png" alt="image" width="30%"/>

👆[カーボン抵抗(炭素皮膜抵抗) 1/6W10kΩ](https://akizukidenshi.com/catalog/g/g116103/)

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250511/1746944267879.png" alt="image" width="30%"/>

👆[タクトスイッチ 12mm TVGP01-G73BB](https://akizukidenshi.com/catalog/g/g109826/)

## 👇関連記事

- [1 . XBeeを使った自宅状態遠隔見守りサービス実現方法の紹介](https://docs.saurus12.com/device/monitoring_introduce)
- [5 . ESP32マイコンのツール設定と接続](https://docs.saurus12.com/device/esp32_preparation)

## 👇参考URL

- [ESP32-C3-WROOM-02の開発環境を構築する](https://qiita.com/ricelectric/items/17f8aedb972e5898a8bc)  
- [Check! IoT ができるようになるまで ～ ESP-WROOM-02 にシリアル通信で接続する](https://qiita.com/dz_/items/7cca78ffa792a55416e2)
- [ESP32-C3-WROOM02 Datasheet](https://akizukidenshi.com/goodsaffix/esp32-c3-wroom-02_datasheet_en.pdf)
- [ESP32-C3 Series Datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf)

## 本記事へのリンク

<img src="https://websa12.z11.web.core.windows.net/image-data/202505/20250517/1747464379121.png" alt="image" width="30%"/>

### [https://docs.saurus12.com/device/esp32_c3_wroom_setup](https://docs.saurus12.com/device/esp32_c3_wroom_setup)

[keywords]  
ESP32-C3-WROOM-02-N4 Arduino MicroPython

[ESP32-C3-WROOM-02-N4 設定方法解説](https://docs.saurus12.com/device/esp32_c3_wroom_setup)

更新日:2025年05月17日