分離型のコンパクトなキーボードlet's split(レツプリ)を組み立てた話

この記事は[富士通クラウドテクノロジーズ Advent Calendar 2017](https://qiita.com/advent-calendar/2017/fjct)の22日目の記事です。

21日目は @tily さんの [[HR-Tech] 社員のプロフィールと会社の歴史を共有するためのマイクロサービス Profistory](http://d.hatena.ne.jp/tily/20171221/profistory)でした！

「この技術って誰に聞けばいいのかなぁー」と悩むことがよくあるので、社内への試験導入が待ち遠しいです…！

# はじめに
エンジニアにとってキーボードは無くてはならない存在じゃないでしょうか？また、キーボードも様々な種類があり、エンジニアの個性がでてくる部分かと思います。
最近ふと、「そういやキーボードを自作したことがないなぁ〜。」と思い、会社の先輩 @clutter さんと共同購入し、初めて自作したキーボードlet's split(レツプリ)を紹介したいと思います。

# let's split(レツプリ) とは

![FullSizeRender-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/746adab6-7705-d372-e2e7-28fadf7359f4.jpeg)

let's splitは、redditにてwootpatoot氏によってつく作られた左右分離するタイプのキーボードです。数字やファンクションキーのRowがなく、全部で48キーしかないかわいいキーボードとなってます。

* 格子配列
* コンパクト (Planckと同様40％サイズのキーボード)
* 左右分離型
* プログラマブル ([QMK_Firmware](https://github.com/qmk/qmk_firmware)で好きなキーマップを作成できる)

といった特徴を持ってます。

自作キーボード界隈では有名なErgoDoxやPlanckの影響があり作られたキーボードでしょうか。
レツプリはPCBも販売され、ビルドログも多く、自作キーボードに挑戦しやすいキーボードでもあります。

# 部品を購入
以下の部品を購入。

| 部品                              | 価格      | 販売元              |
|:----------------------------------|----------:|:--------------------|
| Let's Split PCBs                  |     $8.99 | [MEHKEE](https://mehkee.com/collections/keyboards/products/lets-split-pcb?variant=46050392207)              |
| TRRS Jacks                        |     $3.29 | [MEHKEE](https://mehkee.com/products/trrs-jacks)              |
| Cherry MX (x50)                   |    $32.50 | [MEHKEE](https://mehkee.com/collections/switches-and-parts)              |
| TRRS Cable                        |     $5.49 | [MEHKEE](https://mehkee.com/collections/accessories-parts/products/trrs-cable?variant=45864665551)              |
| DSA PBT Keycaps (x48)             |    ¥2,592 | [TALP](https://talpkeyboard.stores.jp/?category_id=59e2ad0fc8f22c5d09000c82)                |
| Arduino Pro Micro                 |    ¥1,000 | [TALP](https://talpkeyboard.stores.jp/items/59e303f4c8f22c36d0000918)               |
| 1N4148 DIODE (100PCs)             |      ¥150 | [TALP](https://talpkeyboard.stores.jp/items/59eadbffc8f22c15de001638)                |
| タクトスイッチ (x2)               |      ¥100 | [SwitchScience](https://www.switch-science.com/catalog/38/)       |
| フルカラーシリアルLEDテープ(17cm) |      ¥756 | [SwitchScience](https://www.switch-science.com/catalog/1400/)       |
| M3ネジ／ナット(5mm程度あればOK)   |      ¥300 | 東急ハンズ          |
| M3スペーサー(10mm)                |      ¥200 | 東急ハンズ          |
| アクリル(270x320x3mm)             |    ¥1,146 | 東急ハンズ          |
|     アクリルレーザーカット加工    |      ¥800 | [FabCafe](https://fabcafe.com/tokyo/)             |

およそ13,000円 + 送料でつくれちゃいます。
スイッチやキーキャップは好みで。(王道のCherry MXがやはりおすすめですが…)

MEHKEEとswitchTopがありますが、MEHKEEのほうが発送は早いです。
Arduino Pro Microは互換品(いわゆるコピー品)なので不良もあるかも…？
あとは、キーキャップにPBTと呼ばれる高品質の素材を選んでますが、安めのABSでもOK。

# 組み立て
## ダイオードを半田付け：裏面
左右合わせて48個のダイオードを半田付け。
取り付けは裏面でも表面でもどっちでも大丈夫です。

![FullSizeRender-3のコピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/309315f7-ceb2-5e58-c194-653c31de2c45.jpeg)


これが一番大変。

## TRRSジャックを取り付け：裏面
左右のキーボード間で通信を行うためのTRRSジャックを取り付けます。
よく取り外しする端子なのでしっかりとはんだ付けすると◎

![FullSizeRender-6のコピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/99830c61-d4b8-42c2-9e94-95ecf9067857.jpeg)


## ピンヘッダを半田付け：裏面
Arduino Pro Microと呼ばれるキーボードの制御部分を付けるためのピンヘッダです。
ブレッドボードに刺しながらはんだ付けすると簡単。

![FullSizeRender-5のコピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/85986f82-83be-ed8a-0847-b9ab2074b626.jpeg)


## キースイッチを取り付け：表面
`(PCB) - (アクリル) -- (キースイッチ)` とアクリルを挟み込むようにキースイッチをはんだ付けしていきます。
ここまで来るとキーボード感が出てくるのでワクワク感もup。

![FullSizeRender-7のコピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/630c7dfb-3ba2-c154-1004-7cde1d5031ec.jpeg)

## Arduino Pro Microを取り付け：裏面
最後に制御部分をはんだ付け。右側は表面が見えるように、左側は裏面が見えるようにはんだ付けする必要があります。タクトスイッチもはんだ付けし、リセット(書き込み時に必要)できるように組み立てて行きます。スペーサーは10mmだと余分なスペースはないのでピンヘッダの余った部分はニッパーでカットしていきます。
**不良が多いArduino Pro Micro互換品なのではんだ付け前にテストをおすすめします。**

![FullSizeRender-8のコピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/48903/1918849d-9d78-2723-3a84-ef415e39ecf8.jpeg)


## ネジを締めて完成
最後にスペーサーとネジで組み立て終了です！


# ファームウェアを書き込む
## キーマップを考える
QwertyやDvorak、Colemarkなど好きな配列で自分だけのーマッピングを！

http://www.keyboard-layout-editor.com/#/gists/01fa9a12ff5ba9ec09c1683193cd1346

## プログラムの書き込み
githubにて公開されている[QMK Firmware](https://github.com/qmk/qmk_firmware)からgit cloneし、自分好みのキーマップを作成していきます。(僕は[nicinaboxさんのキーマップ](https://github.com/nicinabox/qmk_firmware/tree/nic/keyboards/lets_split/keymaps/nic)を改変し使っています)

### インストール

```
$ brew install avr-gcc
$ brew install avrdude
```
### ビルド

```
$ make rev2-{キーマップ名}
```

### 書き込み

```
$ make rev2-{キーマップ名}-avrdude
```

といった具合で左右それぞれのArduino Pro Microに書き込みを行い、完成です！

# 最後に
レツプリはプログラマブルなキーボードなので乱数を生成したり、マクロを設定したりといろいろな割当ができます。
また、自作キーボードは部品注文から組み立て、キーマッピングを考えるまでのそれぞれの過程でワクワク感が味わえると思います。

愛着の湧く、自分だけのキーボードをデザインしてみてはいかがでしょうか！


**キーボード沼へようこそ**

明日は @egoa56 さんの「年末なんで大掃除(技術的負債のたな卸し)してみよう。」です！お楽しみに！