ESP32-WROOM-32をESP32-DevKitC開発ボードのように使うライザーボードを作ってみた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/ebda0a74-c9a1-8401-a2ce-05e736f4e353.png)
　ESP32-WROOM-32とESP32ダウンローダキットを組み合わせて、さらにESP32-DevKitCと同じピンレイアウトに変換したら↓こうなりました(涙)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/b556b97c-f36b-9b27-7ea7-d5127566c02a.png)
　横から見るとこんな感じです。6枚の基板を重ねています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/4e32bed1-2b73-895a-4226-8c98789ab3c7.png)

## なんでこうなっちゃったのか
　ESP32-DevKitC開発ボードで工作すると完成品の基板が大きくなるので、ESP32単体で搭載したかったのと単体の方が価格が安いことがライザーボード作製の発端でした。
　ブレッドボードに挿して使う時に開発ボードよりも平面サイズが大きいと厳しいなぁとか、配線が入り組んでるから多層構造は避けられないから初めてプリント基板を発注しようとCADソフトを使ってみたけど挫折。。。どうせ１つしか必要ないからユニバーサル基板で作ろう。と、作り始めてしまいました。

## 構造
　ライザーボードは合体・分離できる3つの機体で構成されています。便宜上、3つの機体をそれぞれを「アルファ号」、「ベータ号」、「ガンマ号」とします。

|機体名|説明|
|:-:|:--|
|アルファ号<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/afbedbbe-23b0-84c2-d6ba-ca010e3ac20a.png)|ピッチ変換基板にESP32-WROOM-32を実装したボード。ベータ号と合体してプログラムをアップロードしたら、分離して完成品と合体します。|
|ベータ号<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/65402777-1b85-fc08-62f3-03cb5ce4fa19.png)|ダウンローダキットとENやBootスイッチを搭載したボード。プログラムをアップロードする時にアルファ号を合体させます。|
|ガンマ号<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/de12ffe9-49de-ef87-3f17-a4176a0372ec.png)|ピッチ変換基板のピンレイアウトを開発ボードのレイアウトに変換するボード。ガンマ号は、アルファ号、ベータ号と合体してブレッドボードに着陸します(カルテット作戦)。プログラムをアップロードする必要がなければアルファ号との直接合体も可能です。|

## 作製
### アルファ号：ESP32-WROOM-32ピッチ変換ボード
　ESP-WROOM-32専用のピッチ変換基板を購入して部品をハンダ付けしただけです。ベータ号と完成品の間で合体・分離を繰り返すため、挿抜し易い丸ピンを採用しました。それに普通の四角いピンヘッダ・ソケットにすると厚みが増してしまう点からも丸ピンにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/99717a4f-6267-0322-22b3-86c8460e0b61.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|ESP32本体|ESP32-WROOM-32E 16MB|[秋月電子通商](https://akizukidenshi.com/catalog/g/gM-15675/)|
|基板|ESP-WROOM-32ピッチ変換基板コンパクト|[amazon(a bit better circuit)](https://www.amazon.co.jp/gp/product/B06XP3TY1B/)|
|ピンソケット|丸ピン連結ソケット(36ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-16709/)|

### ベータ号：ダウンローダボード、操作スイッチ搭載ボード
* 1層目の役割はピッチ変換基板のピン配線を外側に引き出すこととダウンローダキットとスイッチ類を実装することです。おもて面には以下の部材を実装しています。うら面は配線だけです。
    - アルファ号が合体・結合するためのピンソケット(メス)
    - ダウンローダキット：始めからハンダ付けされていたピンヘッダを取り除き、うら面に絶縁テープ等で処理します。ESP32のピンへの配線は2層目で行うので、2層目と連結させるピンヘッダの出っ張ったピンを使って基板に直付けしました。
    - ESP32をリセットするENスイッチ
    - アップロードする際に押すBootスイッチ：押しっぱなしにしないとアップロードできないことが多かったのでスライドスイッチにしました。
    - スイッチと並列に入れるおまじないのコンデンサ：他にプルアップ抵抗やパスコンも必要でしたが、省スペース化のため、ガンマ号に搭載することにしました。
    - 画像にはありませんが、ガンマ号に5Vを渡すためにダウンローダキットから5Vを引き出して2層目に渡しています。(後付け)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/8617fff6-427f-c75d-888a-eee7a30490d1.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|基板|両面ユニバーサル基板 Dタイプ スルーホール|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-11960/)|
|ダウンローダキット|ESP32 ダウンローダキット|[スイッチサイエンス](https://www.switch-science.com/products/7471)|
|ENスイッチ|タクトスイッチ|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-08074/)|
|Bootスイッチ|小型スライドスイッチ 1回路2接点|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-12723/)|
|おまじないコンデンサ|セラミックコンデンサ 0.1μF(2個)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-00090/)|
|ピンソケット(メス)|丸ピンIC用ソケット(36ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-01591/)|

* 2層目の役割は1層目で外側に引き出した配線をピッチ変換基板のピンレイアウトに戻すこととダウンローダキットをESP32のピンに配線することです。おもて面には以下の部材を実装しています。
    - 1層目と連結させるためのピンヘッダ：ピッチ変換ボード36ピンとダウンローダキットの6ピンを2層目へ渡します。ピンヘッダは先に2層目側にハンダ付けしておきます。
* うら面には以下の部材を実装しています。
    - ガンマ号に合体・結合するためのピンソケット(オス)：ピッチ変換ボードのピンレイアウトになるようにピンソケットをハンダ付けしています。後付けで、5Vをガンマ号へ引き渡すピンを追加しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/ad50dcbe-0ff5-b97b-4016-f597ad379bd7.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|基板|両面ユニバーサル基板 Dタイプ スルーホール|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-11960/)|
|ボード連結用ピンヘッダ|ロープロファイルピンヘッダ(36+6ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gC-02900/)|
|ピンソケット|丸ピン連結ソケット(36+1ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-16709/)|
* 1層目と2層目の基板を結合
1層目、2層目の配線、ハンダ付けが終わり、導通確認して問題なければ1層目と2層目を結合させ、ダウンローダキットを載せて1層目側の連結ピンヘッダをハンダ付けします。1層目と2層目を結合して、飛び出た連結用ピンヘッダ(赤色部分)にダウンローダキットのピンヘッダ跡の穴をはめて直付けしました。ガンマ号を作製している時に5Vがないことに気がついて、急遽ダウンローダキットの降圧レギュレータの入力ピンから5Vを引き出してガンマ号へ渡すピンを追加しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/48be3d5f-1d91-5188-96f2-c43b93f70efa.png)

* なぜ2層構造なのか。
    - ベータ号は、ピッチ変換ボードのピンレイアウトのアルファ号と合体し、同じくピッチ変換ボードのピンレイアウトでガンマ号と合体するので、上から下まで同一線上に配線できるのが理想的です。しかし以下のようになかなかうまくいきません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/030143d3-3ecb-1402-6c5d-3c6ea0658ffa.png)
* 配線図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/16ebdb14-a1e4-ef5f-1cc0-7c8afc81a6d6.png)

### ガンマ号：開発ボードピンアサイン変換ボード
　ピッチ変換ボードと開発ボードのピンは以下のような対応になっています。これをガンマ号に実装しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/74ab800e-d3cd-d30a-f967-b01b24e8ebe0.png)

* 1層目の役割はピッチ変換基板のピンレイアウトを外側に配線を引き出すこととベータ号に搭載できなかったプルアップ抵抗等を実装することです。おもて面には以下の部材を実装しています。うら面はプルアップ抵抗とパスコンの配線だけです。
    - ベータ号が合体・結合するためのピンソケット(メス)
    - プルアップ抵抗
    - バイパスコンデンサ
　ベータ号では放射状にジャンパー線を配線しましたが、配線が短いのでもたもたハンダ付けしていると反対側のハンダが融けて苦労しました。ガンマ号の1層目には十字配線基板を採用してみました。パターンをカットする手間はかかりましたが、キレイに仕上がりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/9f639df1-0f8a-6413-5e8c-c5380c4d9bca.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|基板|十字配線ユニバーサル基板|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-09321/)|
|ピンソケット(メス)|丸ピンIC用ソケット(36+1ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-01591/)|
|プルアップ抵抗|1/4W 10kΩ(2個)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gR-25103/)|
|パスコン|セラミックコンデンサ 0.1μF|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-00090/)|
|パスコン|電解コンデンサ 47μF 35V|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-03120/)|

* 2層目の役割は1層目で外側に引き出した配線を開発ボードのピンの並び方に変換することです。おもて面には以下の部材を実装しています。
    - 1層目と連結させるためのピンヘッダ：ピンヘッダは先に2層目側にハンダ付けしておきます。
* うら面には以下の部材を実装しています。 
    - 3層目と連結させるためのピンヘッダ：ピンヘッダは先に2層目側にハンダ付けしておきます。
    - 5Vピンは結合用ピンヘッダを使用していないのでうら面からの配線を長めにおもて面に出しておきます。
* 2層目は他の基板より一回り大きなものが必要だったので手持ちに片面基板しかなく、仕方なく使っていますが、両面スルーホール基板の方がよいでしょう。
* 配線は頑張ってジャンパー線にしました。ベータ号で苦労したので、今度はジャンパー線の片側からハンダ付けしていき、ジャンパー線をUVレジンで固めてからもう片方をハンダ付けしたところ、うまくできました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/69071476-07a5-664f-4c3d-b0e22ad4b336.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|基板|片面ユニバーサル基板||
|ボード連結用ピンヘッダ|ロープロファイルピンヘッダ(36ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gC-02900/)|
|ボード連結用ピンヘッダ|ロープロファイルピンヘッダ(38ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gC-02900/)|

* 3層目の役割は開発ボードと同じのピン間隔に補正することです。。。と、ここまで書いてきて、間隔を変えるだけなら2層目で頑張れば3層目いらなくね？　と気づきました(涙)。画像だけ載せておきます。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/b3f32be4-5cab-2fca-a0d8-efcf94b45bec.png)

|部材名|使用した部品|購入先|
|:--|:--|:--|
|基板|ESP32-DevKitC プロトタイプ基板|[amazon](https://www.amazon.co.jp/gp/product/B07MR6XV3S/)|
|ピンソケット|丸ピン連結ソケット(38ピン分)|[秋月電子通商](https://akizukidenshi.com/catalog/g/gP-16709/)|
* 1層目～3層目の基板を結合
 1層目、2層目、3層目の配線、ハンダ付けが終わり、導通確認して問題なければ1層目と2層目を結合、ハンダ付けします。5Vピンは長めに出しておいた配線を1層目うら面の丸ピンソケットの足にハンダ付けします。そして、3層目をハンダ付けします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/b4056563-3055-26cf-7d0c-8009fd2d3049.png)

* 配線図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/877f722e-656d-3167-bd90-bbf3c5e49c81.png)

## 秘密基地
　ブレッドボードを使わない時はガンマ号は合体する必要はありません。しかし、アルファ号とベータ号だけではプルアップ抵抗やパスコンが接続されていませんし、ピンが露出している状態で通電するとESP32を壊しかねません。そこで、アルファ号＋ベータ号の形態で使う際のピン保護とプルアップ抵抗やパスコンを接続する目的で秘密基地を作りました。部材はベータ号と同じですが、基地なので100均で買ったゴム足を付けています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/d4c2518e-4973-f3fa-52a9-7a1c27e5865b.png)

## ギャラリー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/7c30542f-09f2-345a-3978-b2be0677b0e6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/f92e6f6e-8542-2148-8e33-395dde0b37fe.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/72fcd42a-3e32-11a1-4902-d7c97aa17099.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/d9c8d15f-300e-170d-d91f-de120ddf66ee.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308714/a0144304-5f4b-ce51-c6fa-ee6bfa23f51d.png)

## 参考にした情報
* YouTube:[ESP32ダウンローダーキットを使ってESP32を単体で使ってみる。](https://www.youtube.com/watch?v=r1x9QxYIm3U)
* DEKOのアヤシいお部屋。:[ESP32-WROOM-32](https://ht-deko.com/arduino/esp-wroom-32.html#20)