An open API service indexing awesome lists of open source software.

https://github.com/zk-phi/switch42-keyboard

My first DIY keyboard / 3x6+3 split ortho
https://github.com/zk-phi/switch42-keyboard

keyboard

Last synced: 3 months ago
JSON representation

My first DIY keyboard / 3x6+3 split ortho

Awesome Lists containing this project

README

          

Switch42 Keyboard の紹介&組み立てガイド

(これは基板バージョン rev3 ベースの紹介です)

# 概要

![Switch42](images/switch42.jpg)

Switch42 は zk-phi が初めて設計した自作キーボードキットです。

以下の特徴があります:

- 直行配列・分割キーボード

- Corne Keyboard などとちょうど同じ 42 キー
- (ホームポジションからひとマスで到達できる行・列が過不足なくついています)

- 指の腹で押せるよう、少し張り出して配置した親指キー

- フルカラー LED / LED テープに対応

- ProMicro を下部に格納し、スッキリした外観

- MX 互換スイッチ専用

- (非リバーシブル基板で表裏を間違いづらい)

LED 以外には表面実装品を使わないので、組み立て難易度は初〜中級者向けだと思います。二箇所だけ一般的な自作キーボードキットには出てこない作業が登場します:

- 基板の不要部分をカットする作業
- Pro Micro と干渉する部品の足をカット・絶縁

# 設計の経緯&工夫など
## なぜ作ったの?

Ergo42 で自作キーボードデビューしてから、よりキー数の少ない Corne に挑戦し、使っているうちにこんな実感が湧いてきました:

- このキー数でも十分仕事になるけど、これより少ないくなると自分には辛いな
- = これがコンパクトさと実用性の落としどころだな

6 x 3 + 3 というキー配列に大満足していた一方で、だんだんと Ergo42 の格子配列も恋しくなってきたりもして、ヨシそれなら「格子配列の 42 キー」を作ってみよう、と設計に挑戦しました。

オリジナルな工夫もなにか入れたいなということで、以前から気になっていた「親指キー押しづらい問題」に対する自分なりのアイデア(張り出させて配置する)も盛り込んでみました。

また、それまで LED のハンダづけにビビってキーボードを光らせてこなかったのですが、自分で設計すればきっと試作基板がたくさん余るので失敗も怖くないぞ!ということで、初のキーボード設計から LED 対応に挑戦しました。

同じ「格子配列+親指キー」ということで、 コンセプトの近い MiniAxe を組むことも考えたのですが、以下のポイントが決め手になって、自分で設計することにしました:

- 6列キーボードが絶対必要だったこと

自分は Emacs のヘビーユーザーで、 Alt-Ctrl-, Alt-Shift- などの複雑な組み合わせにもいちいちショートカットを設定しているので、 Ctrl, Shift を小指で押せる仕様がマストでした。

- Pro Micro を採用したかったこと

MiniAxe は定番のマイコンボード "Pro Micro" を採用しない、より進んだ設計になっています。これによって、とても薄く、「モゲ」問題とも無縁なキーボードを実現しています。一方、半田付け難易度は Pro Micro を使用したキーボードよりも上がっていて、組み立てられるか不安だったのと、自分以上に初心者な友人に提供したかったこともあったので、オーソドックスな Pro Micro (コンスルー) を採用したいモチベーションがありました。

## 設計上の工夫

リバーシブル基板をやめて、代わりに基板の不要部分を切り取れるようにしました。もともとは ProMicro を下部に格納しつつコンスルーに対応するために考えた仕様でしたが、結果的に部品の向きを間違えるミスも減らせてよかったんじゃないかなと思っています。

# 組み立てガイド
## オプション

以下の箇所は組み立て方に選択肢があるので、好みでカスタマイズしてください。

- Pro Micro などを覆う底板を省略することで、 3mm ほど薄くすることができます

- LED をつけることがきます (難しいです。つけなくても使えます)

## 必要な部品 (両手分)

- Switch42 専用部品
- 基板 2 枚
- トッププレート 2 枚
- ボトムプレート (穴あき) 2 枚 [左右別]
- 底板 (穴なし) 2 枚

- 汎用電子部品
- ダイオード [1N4148 / 1N4148w] 42 個
- TRRS ジャック [MJ-4PP-9] 2 個
- タクトスイッチ [TVBP06] 2 個
- コンスルー (スプリングピンヘッダ) 付き Pro Micro 2 セット
- MX 互換キースイッチ 42 個
- MX スイッチ用キーキャップ 42 個
- 光らせたい場合はどちらか選択:
- WS2812B の LED テープ (幅 1cm) 2 本 [簡単]
- SK6812mini 42 個 [難しい]
- 絶縁テープ (カプトンテープなど)

- ケースの組み立て材
- M2 スペーサ 7mm 10 本
- クッションゴム 10 個
- 底板をつけるどうかによって選択:
- M2 ネジ 5mm 20 本 [底板なし]
- M2 ネジ 8mm 20 本 [底板あり]

- ケーブル類
- Micro USB ケーブル
- TRRS ケーブル

- あると便利なもの
- マスキングテープ

※ダイオードは表面実装品でもリード部品でも ok です。初めての場合はリード部品を選択しましょう。

※コンスルーは必須ではないですが、リカバリや修理が簡単になるので強く推奨します

## 主な爆死ポイント

組み立てる時はチェックしましょう。

- 定番
- ハンダ不良
- ProMicro / ダイオードの向き間違い
- トッププレートをはめずにキースイッチをつけてしまう
- TRRS ジャック、リセットスイッチをつける前にキースイッチをつけてしまう
- トッププレートを割る
- (ProMicro の MicroUSB 端子モゲ)

- Switch42 特有
- 基板の不要部分をカットするときに、必要な部分も破壊してしまう
- 絶縁テープを貼り忘れる (コンスルーならリカバリー可)

## 組み立て手順

組み立ての手順を順に紹介してゆきます。

ハマりどころはなるべくフォローしてゆくつもりで書いていますが、半田付け自体の基本的な知識、たとえば道具の持ち方・使い方、ハンダ不良の見分け方などはより詳しい資料があるはずなので、そちらで復習しておくと確実です。

### Pro Micro の準備
#### Pro Micro にファームウェアを書き込む

Pro Micro にファームウェアを書き込みます。

私のリポジトリ (https://github.com/zk-phi/qmk_firmware) からコードをダウンロード後、QMK Firmware の公式ページを参考に環境を構築します。

キーボードを光らせるためにテープ LED を使用する場合、 qmk_firmware/keyboards/switch42/keymaps/default/config.h の「USE_BAKCLIGHT」 の行をコメントアウトします。

![promicro_usb](images/promicro_usb.JPG)

環境ができたら、 Pro Micro を USB で接続した上で

```terminal
make switch42/rev1:default:avrdude
```

を実行し、 Pro Micro の `GND` ピンと `RST` ピンをピンセットなどでショートすることで書き込むことができます。

初期不良の確認も兼ねて、2台とも書き込んでしまいましょう。後から書き換えも可能です。

#### Pro Micro にコンスルーを立てる

LED の動作確認ですぐに使うので、 Pro Micro にあらかじめコンスルーを取り付けておきます。

向きが少しややこしいので注意して下さい:

コンスルーのプラスチック部分に空いた穴に注目します。 *穴の空いている方が「Pro Micro」側になるように、また二つのコンスルーで穴が同じ方を向くように、* コンスルーを Pro Micro に差し込みます。 *Pro Micro の「部品が乗っている面と同じ面に」* コンスルーを立てます。

斜めになってしまわないように注意しながら半田付けします。

詳細は (Helix のビルドガイド)[https://github.com/MakotoKurauchi/helix/blob/master/Doc/buildguide_jp.md#pro-micro] に詳しいです。

### PCB の準備

基板は右手用・左手用で同じものを使います。スイッチの乗りそうな四角がたくさん並んでいる方が表です。

2枚の基板を同じ向きで(たとえば、表を上に)置いて、 *一方は左の、他方は右の、* 親指クラスタを落とします。同じ側を落として右手・右手や左手・左手のキーボードになってしまわないように注意してください。

![pcb_cut](images/pcb_cut.jpg)

力技で折ろうとすると、写真のように基板を損傷します。

![pcb_broken](images/pcb_broken.jpg)

*ニッパやカッターなどであらかじめ傷をつけて、* なるべく少ない力で折り取ります。切りしろ部分以外に傷をつけないように注意してください。最悪、そこを通っている配線を断線してしまうと、動作に問題が起こる場合があります (特に LED)。バリはある程度残したままでもケースに収められるようになっています。うっかり傷つけるくらいならそのままにしましょう。

### SK6812mini をつける (光らせる場合)

SK6812mini を半田付けしてゆきます。コの字の印のあるパッドが SK6812mini の Vcc になります。

![sk68_soldering](images/sk68_soldering.jpg)

基板の個体差で LED が穴に落ちてしまう場合、マスキングテープで軽く固定するとつけやすくなります。

熱で壊れやすいので、高くとも 270 度程度に抑えて半田付けします。

![led_order](images/led_order.jpg)

LED は図のように直列に並んでいるので、一つ目から順に半田付けし、都度次のように動作確認すると安全です:

1. 基板にコンスルー付き Pro Micro を差し込む
2. USB ケーブルを刺して PC やモバイルバッテリーから電源を供給
3. 光れば ok

![sk68_light](images/sk68_light.jpg)

Pro Micro は写真のように、基板にプリントされた枠線に合わせて差し込みます。

ハンダは付いているのに光らない LED がある場合、おそらく熱で壊れているので、ハンダを丁寧に除去し、基板のパッドを剥がさないように慎重に LED だけを外します(外れない場合、無理に力を加えずに、ハンダを除去し直してください)。

### ダイオードをつける

キー数分のダイオードをつけてゆきます。表面実装品・リード部品から好みの方を選んで取り付けることができます。

ダイオードには向きがあるので注意してください。リード部品の場合、基板の表側から、印刷されたアイコンと同じ向きで挿入します。表面実装品の場合、基板裏面のパッドに、 *カソードがコの字の印のところに来るように* 乗せます。

![diode](images/diode.jpg)

LED をつけた場合、ここからはコテの温度を元に戻して構いませんが、 *高温のコテで LED に触ってしまって、せっかく取り付けた LED を破壊することがないように* 注意してください。

余談ですが、プレート2枚と基板1枚を重ねると、ダイオードの足を曲げるのにちょうどいい厚さになります。

![diode_bending](images/diode_bending.jpg)

### リセットスイッチ、TRRS ジャック をつける

リセットスイッチ、 TRRS ジャックをこの順にとりつけます。順番を間違えても致命傷にはなりませんが、先に背の高い部品をつけてしまうと、後から背の低い部品をつけるのは若干厄介です。

![trrs_and_reset](images/trrs_and_reset.jpg)

基板の裏面に取り付け位置の目印があるので、ここに取り付けます。

### Pro Micro を差し込み、動作確認をする

以降の手順を終えるとリカバリの難易度が一気に上がるので、ここで 一度 Pro Micro を装着し、動作確認をします。

- [LED] LED が光るか
- [ダイオード] スイッチが入る予定のピンをピンセットなどで直接ショートした時、キー入力が行われるか
- [TRRS] TRRS ケーブルで左右を繋いだ時、 USB が直接刺さっていない側のキーボードからもキー入力ができるか
- [リセットスイッチ] ファームウェア書き込み時のリセット操作を、タクトスイッチで代用できるか

![testing](images/testing.jpg)

### トッププレート・キースイッチをつける

*トッププレートにキースイッチをはめ、* 基板とドッキングします。

![switch_with_plate](images/switch_with_plate.jpg)

![pcb_with_plate](images/pcb_with_plate.jpg)

プレートの保護シートはスイッチをはめてから剥がすと、指紋をつけにくいです。

![unvail](images/unvail.jpg)

トッププレートを挟まずに直接スイッチを取り付けてしまうと、後からトッププートを組み込むことができなくなります。

基板からスイッチが浮いてしまわないよう、しっかり押し付けます。プレートは基板に押しつける必要はありません。基板とプレートの間に 2mm ほど隙間がある状態が正しいです。

無事ドッキングできたら、キースイッチを半田付けします。

このとき、 *Pro Micro が上に重なるところのスイッチだけは、あらかじめ足をカットしておき、基板とツライチで* (飛び出さないように)半田付けをします。その後、 *絶縁テープを貼って Pro Micro に触れないようにします* 。耐熱のカプトンテープなどがあれば理想的です (私はビニテを貼っています。。)。デザイン上の都合で Pro Micro をここに装着するしかなかったため、やむを得ずこのような手順になっています。

![tape](images/tape.jpg)

### LED テープをつける

LED テープを使ってキーボードを光らせる場合、基板裏面のパッドに合わせて LED テープをベタッと貼り付け、半田付けします。 DOUT ではなく DIN を接続するように注意してください。

![underglow](images/underglow.jpg)

LED テープは長すぎる場合、適宜な箇所でカットすることができます。

### Pro Micro を装着、ケースを組み立てる

スイッチを無事取り付けることができたらハンダ作業はこれでおしまいです。Pro Micro をもう一度取り付け、ケースを組み立てます。

トッププレートにネジを使ってスペーサーを立てて、ボトムプレートと合体します。ボトムプレートは左右で形状が違うため注意してください。底板を使う場合は、ボトムプレートの下にさらに底板を重ね、長め (8mm) のネジで貫通するようにとめます。使わない場合は短め (5mm) のネジでとめます。

ケースが組めたら、クッションゴムを貼り付け、キーキャップを装着して完成です。

### おまけ: マステ Mod について

Underglow を使用する場合、写真のように真下にマスキングテープなどを貼り付けると、光が拡散しボトムプレート全体を光らせることができます。

![masking](images/masking.jpg)

## デフォルトキーマップの紹介

デフォルトのキーマップは次のようになっています。

![keymap](images/keymap.png)

単にキーを押すと、黒字のキーが入力されます。「英数 Alt」のように二つの機能が書かれているキーは、単独で押すと「英数」として、長押しすると「Alt」として機能します。「英数」「かな」は Mac 用のキー、「全角半角」は Windows 用のキーです。

橙のキー(「かな」)を押しながら他のキーを押すと、橙の字で書かれたキーが入力されます。数字や各種記号の入力にはこれを使います。

青のキー(「Esc」)を押しながら他のキーを押すと、青の字で書かれたキーが入力されます。主にファンクションキーなど、特殊なキーを入力するために使います。

緑のキー(「D」)を押しながら「HJKL」キーを押すと、マウスを操作できます。さらに「F」キーも同時に押すと、マウスカーソルの代わりにスクロールホイールを操作できます。

### ガラケーモードについて

橙のキー(「かな」)を押しながら「Tab」を押すと「ガラケーモード」に突入します。 LED が実装されている場合、ガラケーモードになっているかどうかは LED の色で識別できます。

このモードでは、同じキーの連打回数によって異なるアルファベットを入力でき、 Switch42 を片手キーボードとして利用できます。たとえば、「abc」キーを 2 回連打すると「b」が入力されます。

![garakemap](images/garakemap.png)

ガラケーモードでも同様に、橙のキーを押しながら他のキーを押すと、マウス操作、ホイール操作などを行うことができます。

「テンキー」キーを押すとテンキーモードとなり、緑の文字で示された数字を入力できるようになります。もう一度「テンキー」キーを押すことで通常のガラケーモードに戻ります。

左手の右下キー「終了」を押すとガラケーモードを終了します。

### キーマップの書き換え

キーマップの定義は qmk_firmware/keyboards/switch42/keymaps/default/keymap.c にあります。このファイルを編集し、あらためてファームウェアの書き込み作業を行うことで、キーマップを変更できます。