ESP32-DevKitC-32D（ESP-WROOM-32D開発ボード）　開封の儀

ESP32系の便利なボード等が数多くある中、ここはあえて基本に返り、[ESP32-DevKitC-32D（ESP-WROOM-32D開発ボード）](http://akizukidenshi.com/catalog/g/gM-13628/)を使ってみたいと思います。
今回はその第1弾として、購入から環境構築までを行いたいと思います。

- [データシート（PDF）](http://akizukidenshi.com/download/ds/espressifsystems/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf)
- [回路図（PDF）](https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch.pdf)

この「ESP32-DevKitC-32D（ESP-WROOM-32D開発ボード）」は、当然のことながらSoCが「ESP32」で、ボードの一部が「ESP-WROOM-32D（ブレイクアウトボード）」になっている「ESP32-DevKitC-V4」に対して、すでにピンが半田付けされている製品となります。

※ESP-WROOM-32との差はわずかです
※ESP-WROOM-02（ESP8266EX）との差はBLEです

# 購入
やはり[秋月電子通商](http://akizukidenshi.com/catalog/top.aspx)で購入しました。
今回は通販ではなく、秋葉原本店での購入となりました。
（情報収集を兼ね）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/fb4b9f22-812c-a705-18ab-6ef792071e59.png)

他のパーツ屋で売ってませんでした（※ESP-WROOM-32Dは売ってます）が、そっくりなボードはいくつか見かけました。今後、それらのボードも試してみたいと思います。

# 開封
早速開けてみたいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/ecce1724-acdd-6104-86cd-6aa1147116df.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/ef57f50b-d0b0-3dad-70d5-158f6a2483c5.png)

ESP32だけでなく、またUSBシリアル変換等が含まれているだけでなく、ピンがすでに半田付けされていますので、ブレッドボードにさすだけで、センサーやアクチュエーターと簡単につながります。

# Arduino IDEの設定
開発環境であるArduino IDEの準備をします。
現時点での最新のバージョンは1.8.10です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/76b2c1c0-a9b9-fd2c-578f-e704706f50cd.png)

設定はこちらの[github](https://github.com/espressif/arduino-esp32)を参考にしながら行います。
ざっくりとした手順は以下の通りです。（今回はWindows環境での設定です）

1. Arduino IDEのダウンロード＆インストール<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/4637b7ba-b32f-ccab-5037-788435163fd8.png)
2. Gitのダウンロード＆インストール
3. 「 https://github.com/espressif/arduino-esp32.git 」をClone
4. submoduleをupdate
5. 「get.exe」を実行して、必要なファイルをダウンロード
6. ESP-WROOM-32D開発ボードを接続し、ドライバをインストール（自動）<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/c002ace2-d8b8-991a-8f5a-7bdf9cb0abcf.png)
7. Android IDEを起動
8. ボード「ESP32 Dev Module」を選択<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/d973979d-ff55-9ca7-2036-eb5881680631.png)
9. COMポートを選択
10. コンパイル＆アップロード（※これはやっていない）

ボードのリセットボタンを押すと、シリアルモニタに以下が表示されます。

```text
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3ffc0000,len:0
load:0x3ffc0000,len:2304
load:0x40078000,len:3788
ho 0 tail 12 room 4
load:0x40098000,len:532
entry 0x4009813c
[1;36m

[0m[1;36m**************************************
[0m[1;36m*       hello espressif ESP32!       *
[0m[1;36m*        2nd boot is running!        *
[0m[1;36m*            version (V0.1)          *
[0m[1;36m**************************************
[0m[0;36mcompile time 18:16:58

[0m[0;36m  SPI Speed      : 40MHz
[0m[0;36m  SPI Mode       : DIO
[0m[0;36m  SPI Flash Size : 4MB
[0m[1;36mPartition Table:
[0m[1;36m## Label            Usage          Type ST Offset   Length
[0m[1;36m 0 factory          factory app      00 00 00010000 00100000
[0m[1;36m 1 rfdata           RF data          01 01 00110000 00040000
[0m[1;36m 2 wifidata         WiFi data        01 02 00150000 00040000
[0m[1;36mEnd of partition table
[0m[1;36mLoading app partition at offset 00010000
[0m[0;36msection 0: paddr=0x00000020 vaddr=0x00000000 size=0x0ffe8 ( 65512) 
[0m[0;36msection 1: paddr=0x00010010 vaddr=0x3f400010 size=0x05b64 ( 23396) map
[0m[0;36msection 2: paddr=0x00015b7c vaddr=0x3ffba720 size=0x01378 (  4984) load
[0m[0;36msection 3: paddr=0x00016efc vaddr=0x40080000 size=0x00400 (  1024) load
[0m[0;36msection 4: paddr=0x00017304 vaddr=0x40080400 size=0x126ac ( 75436) load
[0m[0;36msection 5: paddr=0x000299b8 vaddr=0x00000000 size=0x06658 ( 26200) 
[0m[0;36msection 6: paddr=0x00030018 vaddr=0x400d0018 size=0x325b4 (206260) map
[0m[0;36mstart: 0x400807ac

[0mInitializing heap allocator:
Region 19: 3FFBBA98 len 00024568 tag 0
Region 25: 3FFE8000 len 00018000 tag 1
Pro cpu up.
Pro cpu start user code
nvs_flash_init
frc2_timer_task_hdl:3ffbc564, prio:22, stack:2048
tcpip_task_hdlxxx : 3ffbeca8, prio:20,stack:2048
phy_version: 80, Aug 26 2016, 13:04:06, 0
pp_task_hdl : 3ffc34f0, prio:23, stack:8192

:>enter uart init
uart init wait fifo succeed
exit uart init

IDF version : master(db93bceb)

WIFI LIB version : master(934d079b)

ssc version : master(r283 4d376412)

!!!ready!!!
mode : softAP(26:0a:c4:2c:b4:f4)
dhcp server start:(ip: 192.168.4.1, mask: 255.255.255.0, gw: 192.168.4.1)

+WIFI:AP_START
```

# 感想
拍子抜けするほど簡単に環境設定ができました。
ただ、せっかく半田付けなしで利用できるのにブレッドボードのサイズが小さいと使えないので、気をつける必要がありそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130771/f0f983fb-428e-2460-f744-1555597f8e79.png)

## 参考サイト
http://okiraku-camera.tokyo/blog/?p=5948