ESP32-WROOM-32D開発ボードの仕様・機能
当記事では、ESP32-WROOM-32D開発ボード(ESP32-DevKitC-32D)の仕様・機能について、詳しく解説します。
ESP32-DevKitC-32Dは、ワンチップWi-Fi/Bluetoothモジュール「ESP-WROOM-32D」などESPシリーズの開発元であるEspressif Systems社の正規品になります。
ESP32-WROOM-32D開発ボードの基本仕様
仕様 | ESP32-DevKitC-32D |
---|---|
基板サイズ | 48.2×27.9mm (54.4×27.9mm※突起物含む) |
マイコンチップ/ 動作周波数 (プロセッサ) | ESP32-D0WD/ 80-240MHz |
SRAM (メインメモリ) | 520kB |
Flashメモリ (フラッシュメモリ) | 4MB ※プログラムを保存 |
EEPROM | - |
動作電圧 | 3.3V |
電源入力電圧 | 2.7-3.6V |
出力電圧 | 5V、3.3V |
デジタル入出力ピン (デジタルI/O) | 22本 |
アナログ入力ピン | 16本 |
アナログ出力 (DAC) | 2本 |
端子の定格電流 | 40mA/各端子 |
プログラム 書き込み端子 | micro USB Type-B |
Wi-Fi | 802.11 b/g/n |
Bluetooth | Classic、BLE 4.2 |
オンチップセンサ | ホールセンサ、温度センサ |
その他 インターフェース | GPIO I2C UART SPI モータ用PWM LED用PWM I2S ADC DAC SDカード(SDIO) IR 静電容量式タッチセンサ ローノイズプリアンプ |
ESP32-WROOM-32D開発ボードの機能
ESP32-WROOM-32D開発ボード外観
ピン配置
①ESP-WROOM-32D
ESP-WROOM-32Dは、WiFi/Bluetooth機能が組み込まれたワイヤレスモジュールです。中国のEspressif Systems社が開発・販売しています。
さらに、ワンチップマイコン、フラッシュメモリが搭載されており、SPI・UART・I2C・PWM・GPIO・ADコンバータなど各種インターフェースを利用することができます。
②USBポート
USBケーブルで、ESP32-WROOM-32D開発ボードとPCのUSBポートに接続することで、ESP32-WROOM-32D開発ボード-PC間で、通信をすることができます。
PCで作成したプログラム(スケッチ)を、ESP32-WROOM-32D開発ボードに書き込んだり、シリアル通信によって、PCからESP32-WROOM-32D開発ボードを制御することができます。
また、USBによってESP32-WROOM-32D開発ボードに給電する役割もあります。
③ENボタン(リセットボタン)
ENボタン(Enableボタン)は、リセットをするためのボタンで、押すことにより、ESP-WROOM-32Dを再起動することができます。
プログラムを最初からやり直したい場合やESP32-WROOM-32D開発ボードの動作がおかしい場合などに利用します。
④Bootボタン(起動ボタン)
ESP32-WROOM-32D開発ボードでは、以下のように2つの起動モードがあります。
通常、フラッシュメモリのプログラムから動作させるので、Bootボタンを押さずに電源を投入して、Flash Bootで起動させます。
- Flash Boot/フラッシュメモリのプログラムから起動モード
- Download Boot/シリアル通信でプログラム書込モード
Espressif Systems社の正規品のESP32-WROOM-32D開発ボードであれば、プログラムを書き込む際、Flash BootからDownload Bootに自動的にモードが切り替わりますが、その他のボードの中には切り替わらないこともあります。
その場合、Bootボタンを押しながら、ENボタンを押してリセットすることで、Download Bootに手動で切り替えることができます。
⑤電源LED
ESP32-WROOM-32D開発ボードには電源LED(チップ部品)が搭載されており、給電されると点灯します。
⑥アンテナ
Wi-Fiとbluetoothのアンテナです。
⑦I/Oピン
No | 名称 | タイプ | 説明 |
---|---|---|---|
1 | GND | P | Ground |
2 | 3V3 | P | Power supply. |
3 | EN | I | Chip-enable signal. Active high. |
4 | SENSOR_VP | I | GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0 |
5 | SENSOR_VN | I | GPIO39, SENSOR_VN, ADC1_CH3, ADC_H, RTC_GPIO3 |
6 | IO34 | I | GPIO34, ADC1_CH6, RTC_GPIO4 |
7 | IO35 | I | GPIO35, ADC1_CH7, RTC_GPIO5 |
8 | IO32 | I/O | GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9 |
9 | IO33 | I/O | GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8 |
10 | IO25 | I/O | GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0 |
11 | IO26 | I/O | GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1 |
12 | IO27 | I/O | GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV |
13 | IO14 | I/O | GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2 |
14 | IO12 | I/O | GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3 |
15 | GND | P | Ground |
16 | IO13 | I/O | GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER |
17 | SHD/SD2* | I/O | GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD |
18 | SWP/SD3* | I/O | GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD |
19 | SCS/CMD* | I/O | GPIO11, SD_CMD, SPICS0, HS1_CMD, U1RTS |
20 | SCK/CLK* | I/O | GPIO6, SD_CLK, SPICLK, HS1_CLK, U1CTS |
21 | SDO/SD0* | I/O | GPIO7, SD_DATA0, SPIQ, HS1_DATA0, U2RTS |
22 | SDI/SD1* | I/O | GPIO8, SD_DATA1, SPID, HS1_DATA1, U2CTS |
23 | IO15 | I/O | GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3 |
24 | IO2 | I/O | GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0 |
25 | IO0 | I/O | GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK |
26 | IO4 | I/O | GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER |
27 | IO16 | I/O | GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT |
28 | IO17 | I/O | GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180 |
29 | IO5 | I/O | GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK |
30 | IO18 | I/O | GPIO18, VSPICLK, HS1_DATA7 |
31 | IO19 | I/O | GPIO19, VSPIQ, U0CTS, EMAC_TXD0 |
32 | NC | - | - |
33 | IO21 | I/O | GPIO21, VSPIHD, EMAC_TX_EN |
34 | RXD0 | I/O | GPIO3, U0RXD, CLK_OUT2 |
35 | TXD0 | I/O | GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2 |
36 | IO22 | I/O | GPIO22, VSPIWP, U0RTS, EMAC_TXD1 |
37 | IO23 | I/O | GPIO23, VSPID, HS1_STROBE |
38 | GND | P | Ground |
*SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3, SCS/CMD(GPIO6~GPIO11)のピンは、ESP32-WROOM-32D内部のSPIフラッシュメモリに接続されているため、他の用途での仕様は推奨されません。
ESP32-WROOM-32D開発ボードの技術資料の入手方法
ESP32-WROOM-32D開発ボードは、回路図などの各種技術資料をEspressif Systems社の公式WEBサイトから入手できます。
ESP32-WROOM-32D開発ボードの技術資料(一部)
技術資料 | 説明 |
---|---|
ESP32-DevKitC V4 schematics | ESP32-DevKitC回路図 |
ESP32 Datasheet | ESP32シリーズデータシート |
ESP32-WROOM-32D & ESP32-WROOM-32U Datasheet | ESP32-WROOM-32D & ESP32-WROOM-32U データシート |
Technical Reference Manual | テクニカルリファレンスマニュアル (ブロック図、レジスタなどの解説含む) |
Hardware Design Guidelines | ハードウェアデザインガイドライン (ESP-WROOM-32、DevkitC) |
まずは、以下のリンクからEspressif Systems社の公式WEBサイト(ESP32-DevKitC V4 Getting Started Guide)に移動します。
このページ自体がESP32-WROOM-32D開発ボードの入門ガイドになっています。さらに、関連する技術資料を入手したい場合は一番下までスクロールします。
クリックすることで、関連する技術資料がダウンロードできます。
さらに、テクニカルリファレンスマニュアルやハードウェアガイドラインなどハードウェアに関するより詳細な技術資料を入手したい場合は、以下のリンクからEspressif Systems社の公式WEBサイト(ESP32 Hardware Reference)に移動します。
クリックすることで、ハードウェアに関する技術資料がダウンロードできます。
ESP32-WROOM-32D開発ボードの選び方
『ESP32開発ボード』は、安価でWi-Fi/Bluetoothに対応しているため、マイコンボードで有名なArduinoボード以上に便利です。
しかし、Arduinoと比べると情報が少なく、どれを選んだらいいのか迷ってしまうと思います。
以下の記事で初心者でもわかりやすいように、ランキング形式でおすすめのESP32開発ボードを紹介しています。ぜひご覧ください。