BluePill+ を使った簡易自作キーボードキットをはんだづけしよう

BluePill+ の USB デバイス機能を使って、3キー+スイッチ付きロータリーエンコーダーの簡易キーボードを作ります。

![IMG_20241116_000404.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d822650e-e143-6d5f-c0ac-6c36a77c1872.jpeg)

今回用意した基板です。

![IMG_20241115_221123.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c9df410f-6c5a-cc2b-cb3a-01995e661ce8.jpeg)

最初に、 BluePill+ にピンヘッダをはんだづけします。
![IMG_20241115_223823.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7eb88752-a210-5e78-816c-1812091ad66a.jpeg)

基板にピンソケットをはんだ付け。

![IMG_20241115_224310.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8e48e9af-d472-e01a-7485-80d7bcbad830.jpeg)



ダイオードをこの向きに接続
![IMG_20241115_234307.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/137bd638-404d-3c76-2f04-7081c5edf254.jpeg)

キーをつなげます。青軸、赤軸、黄軸、茶軸から好きなものを選びましょう。

|軸色|青軸|茶軸|赤軸|黄軸|
|:---:|:---:|:---:|:---:|:---:|
|クリック感|あり|中間|静音|なし|
|圧力|60g|55g|45g|50g|

スイッチもはんだづけします。

![IMG_20241115_233951.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3847ea67-f9ee-69b1-0216-ae3296738dfa.jpeg)

0.1μFのコンデンサx3と2.7kΩぐらいの抵抗x2 をはんだづけ。


![IMG_20241115_235051.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f285e108-c18b-8b45-0c87-406943f8eccb.jpeg)

エンコーダをはんだづけします。好きなキートップを取り付けてください。これで最低限のキーボード機能は使えるようになりました。
![IMG_20241116_000047.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3750a4c1-d9c5-1777-0ac3-93bfeca3df83.jpeg)

# 拡張機能

ここから先はまだファーム対応ができていない箇所ですが、拡張機能を作っていきます。


NeoPixe 粘着テープは向きをよく確認して一旦この箇所だけ粘着テープを外し、

![IMG_20241116_001323.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/09337c90-74b3-83c8-f3ac-f53d64012b46.jpeg)


仮組みします。粘着テープを外したところだけ表に出します。脚もこの後につけておきましょう。

![IMG_20241116_002956.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/409ebff8-9c30-58ca-3a0a-8661c0d1f430.jpeg)

向きをよく確認して、こんな感じにはんだづけします。USBコネクタも取り付けます。
![IMG_20241116_001753.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e7771459-a503-af3f-4f0e-5afb49f57939.jpeg)

粘着テープを剥がしてビニールテープで固定します。
![IMG_20241116_001633.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0bfe56dc-bdad-bad4-2fa7-6a78ffcc0a59.jpeg)

前後しますが、この位置に両面テープを貼り付けて、電池ボックスを取り付けます。

![IMG_20241116_000657.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7394b0da-6f71-57ad-efd7-c7c73a24e177.jpeg)

LEDと電流低減抵抗を取り付けます。
![IMG_20241116_012056.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0f538214-284d-5dbe-79ec-ebf9519b82f6.jpeg)



# 更なる拡張

OLEDとマイクモジュールを更に取り付けることができますが、ファームウェアの対応がまだで、断念・・・

# 回路図など

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e88b25f7-292e-3ce6-4aff-056c5b4ce6b7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/080d2ee5-5ae1-4285-243e-8a2e168fbc70.png)

# IO割当


SW
|GPIO|SINGAL||
|:---:|:---:|:---:|
|PB0||SW1|
|PB1||SW2|
|PB3||SW3|



OLED (SPI接続)
|GPIO|SINGAL|OLED|
|:---:|:---:|:---:|
||1 GND|
||2 3.3V|
|PA5|SCK|3 D0|
|PA7|MOSI|4 D1|
|PA8|OLED RESET|5 RST|
|PA4|DC|6 DC|
|PA3|CS|7 CS|


マイクモジュール
|GPIO|SINGAL|MAX4466_MIC_MODULE|
|:---:|:---:|:---:|
|PA0|1 MIC|
||2 GND|
||SCK|3 ANALOG VCC(2.5V)|


GROVE/NEOPIXEL
|GPIO|SINGAL|GROVE|NeoPixel|
|:---:|:---:|:---:|:---:|
|PB8||1 yellow|DI|
|PB9||2 white||
|5V ※||3 red|+5V|
|GND||4 black|GND|

※(as selectable to 3.3v by jumper)

USB HOST
|GPIO|SINGAL|USB TYPE A FELALE|
|:---:|:---:|:---:|
||5V|1 VBUS|
|PB6(USB2_DN)|D-|2|
|PB7(USB2_DP)|D+|3|
||GND|4|

ENCODER
|GPIO|SINGAL|ENCODER|
|:---:|:---:|:---:|
|PB13||A|
|PB14||B|
||pulluped|C|
|PC14|LED2|ENCODER LED1|
|PC15|LED3|ENCODER LED2|
||GND|GND|

SPEAKER
|GPIO||SPEAKER|
|:---:|:---:|:---:|
|PA15||2|
||GND|1|

LED
|GPIO|SINGAL|LED PORT | ENCODER|
|:---:|:---:|:---:|:---:|
|PC13||LED1|LED(BEHIND OLED CORNER)|
|PC14||LED2|ENCODER LED1|
|PC15||LED3|ENCODER LED2|