KeyBread で DIY マクロパッドを作る

# はじめに

これは、拙作の KeyBread を使って、ユニバーサル基板で 3x3 マクロパッドを作ってみよう、という記事です
「キットを組み立てるところから一歩踏み出したい、けど、いきなり基板設計するのは……」という人に、「こんなこともできるよ」という提案のようなものです
ある程度 QMK やキーボードの回路についての知識が必要です

# KeyBread とは

キースイッチ / ソケット、ダイオード、フルカラー LED （YS-SK6812MINI-E）を1つのパッケージとして DIP 化する基板です
現在、新作を作成中で、もうすぐ Booth にて販売できる予定です
新作は、キースイッチを直接はんだ付けするもの、ソケット対応など、いくつかのバリエーションを用意しています

今回使用しているものは試作版で、製品版とはシルクや色が多少異なります

# マクロパッドを作る

それでは、さっそくマクロパッドを作っていきましょう

## 用意するもの

![用意するもの][items]

* Pro Micro (5V/16MHz) 1枚
* タクトスイッチ 1個
* ユニバーサル基板 1枚
* KeyBread 9スイッチ分
* ダイオード 9個
* YS-SK6812MINI-E 9個
* ソケット 9個（必要な場合）
* ピンヘッダ 必要なだけ
* 配線材 必要なだけ
* はんだ付けできる道具

## Pro Micro の組み立て

Pro Micro にピンヘッダをはんだ付けしましょう

![Pro Micro][pro_micro]

## KeyBread の組み立て

KeyBread を組み立てます
今回は、ソケット対応の KeyBread を使用します
以下の手順を9個分行います

![KeyBread][KeyBread]

### ダイオードの実装

ダイオードの向きに注意してはんだ付けします

![ダイオードを実装した KeyBread][KeyBread_diode]

### YS-SK6812MINI-E の実装

向きに注意して YS-SK6812MINI-E を実装します

![YS-SK6812MINI-E 実装方向][KeyBread_led]

画像のように、切り欠きがある端子が `┐` に合う向きで実装します

### ソケットの実装

必要であればソケットを実装します

![ソケットを実装した KeyBread][KeyBread_socket]

### ピンヘッダの実装

最後にピンヘッダを実装して完成です

![完成した KeyBread][KeyBread_pin]

## YS-SK6812MINI-E の動作確認

ここまで出来たら、一度 YS-SK6812MINI-E の動作確認を行います
ブレッドボードなどで回路を組んでちゃんと光るか確認しましょう

各 KeyBread の `O(Do)` から `I(Di)` を数珠つなぎに繋いで、適当な QMK ファームウェアを焼いた Pro Micro で確認しましょう

## レイアウトを考える

ここまで来たら、一度ユニバーサル基板に配置して、レイアウトを考えます
今回は、ちょっとカッコつけてスイッチをずらして配置してみることにしました

![レイアウト][diy_macro_layout]

## 配線する

レイアウトが決まったら、ゴリっと配線します

![配線][diy_macro_circuit]

|コード|信号|
|:--|:--|
|赤|VCC|
|黒|GND|
|青|Reset|
|黄|Col|
|緑|Row|
|白|YS-SK6812MINI-E データ|

## ファームウェアを書く

ハードが完成したので、QMK でファームウェアをゴリっと作ります

![ファームウェア][code]

QMK の使い方はこちらの公式ドキュメントをご覧ください → [公式ドキュメント][qmk_doc]
今回作ったファームウェアはこちらで公開しています → [diy_macro][diy_macro_firm]

## 完成！！

そして、完成したものがこちらです

![DIY マクロパッド][diy_macro]

# おわりに

いろいろと端折りましたが、ユニバーサル基板でマクロパッドを作ってみました
KeyBread を使えば、今回のようにユニバーサル基板で簡単なキーボードを作ったり、ブレッドボードでより手軽にキーボードを作ることができます
「キーボードってどういう回路で動いてるの？」とか、「キーボード設計に一歩踏み出してみたい」とか、そういう人たちの助けになれば幸いです

では、よき自作キーボードライフを

[items]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/ec657d9c-0477-1bec-7134-d7923f96e232.jpeg
[pro_micro]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/3a698588-2616-2ce7-e5a3-5012bf03c3a8.jpeg
[KeyBread]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/148d2942-4508-a12a-0db2-423cadfd9275.jpeg
[KeyBread_diode]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/0f3cbbf0-7a76-b73f-4d6b-918e8eee8ae9.jpeg
[KeyBread_led]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/d8bfdb00-deb2-d3dc-c0a4-f098330e6c72.jpeg
[KeyBread_socket]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/762dc4a1-a7c4-dabd-90d1-33ee8ff78676.jpeg
[KeyBread_pin]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/cda5a42f-407f-bddc-ea56-61f31f8e366b.jpeg
[diy_macro_layout]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/aa76635f-ccd0-c4eb-c3d8-8d83b86aa414.jpeg
[diy_macro_circuit]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/eac5300b-cf39-9599-c09b-784168ae05cc.jpeg
[code]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/cec4fcec-39da-19b4-13c4-ca3d0102ef7f.png
[diy_macro]:https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553901/6235828c-af8f-c703-70a1-32270ddd1037.jpeg
[qmk_doc]:https://docs.qmk.fm/#/ja/
[diy_macro_firm]:https://github.com/koktoh/qmk_firmware_koktoh/tree/dev/diy_macro/keyboards/diy_macro