およそ二年ぶりにキーボードを作り、一ヶ月ほど使用したので書いておく。
仕様決め
前回作ったキーボード(Denpa)の仕様に概ね満足していたので
- 無線(Bluetooth)対応
- 充電式
- ロープロファイル
- オーソリニア
は前回から引き継ぎ、新要素として
- 左右分割(無線)
- 予備電源(コイン電池)搭載
- サンドイッチケース + PCBガスケットマウント
- 50%
を入れることにした。
キーボードの左右両方のバッテリーが切れたら充電が大変だと思ったのでコイン電池を予備電源として載せることを考えた。 また、アクリル積層ケースは大変なのでサンドイッチケースにして、余分なキーを削って50%に。
左右分割と完全無線(I2C等が不要)によってピン数を抑えられたので、マイコンボードにはXIAO nRF52840を使い、ファームウェアはワイヤレスファーストを謳っているZMKを使うことにした。
キースイッチはChoc V2の上位互換(だと勝手に思っている)のLofree Ghostを採用。
名前はL4(特に理由なし)
レイアウト
Denpaから5キー削って50%にした。オーソリニア度もUP。
PCB設計
回路図
XIAO nRF52840にはLiPoの充電回路が載っているのでLiPoは裏面のパッドにつなぐだけで良い。リセットスイッチも不要。
コイン電池はCR2032を並列につなぎ、VCCからの逆流防止用にPMOSを挟んでおいた。
LiPoとコイン電池、電源オフの切り替えはDP3Tのスライドスイッチで行う。
PCB
前回は配線を自動配線に任せたが、今回はちゃんと自分で配線し、フィレットもかけた。
キーがある領域の左右端をガスケットでマウントする設計(M2の穴は一応開けている)。
XIAOは端面スルーホールなので表面実装し、裏面のパッドはスルーホールに裏からハンダを流し込むことで接続する。
発注するときにはこれらを一枚の基板にして、後で切り離す。
ケース
サンドイッチケースでPCBガスケットマウントをするにはボトムプレートとトッププレート(留め具)をネジとスペーサーで固定し、間にPCBとガスケットを挟めば良い。
また、バッテリーの内蔵と薄さの両立のため、ボトムプレートは二層構造にしていい感じにチルトさせる。
ケースはFusion360で設計した。
ガスケットの下側は3mm厚のPORONと1mm厚の両面テープを重ねたものを、上側は両面テープのみを用い、PCBと合わせて6.6mm厚になるのを6mm厚に圧縮する。 片手あたりのネジ穴を6つに抑えているが、組み立てがやや複雑に。
A4サイズの2mm厚アクリルで加工できる。
ファームウェア
ZMKの公式ドキュメント通りに進める。XIAOはリセットボタン2回押しでボリュームとして認識され、UF2でファームウェアが書き込める。
発注
PCBはJLCPCB、アクリルは遊舎工房に発注した。PCBは送料込みで4000円弱、アクリルはクリアランスセール利用で2000円強。
組み立て
部品リスト
- Seeed XIAO nRf52840 x 2
- スイッチ x 52
- キーキャップ x 52
- ダイオード(1N4148W) x 52
- DP3Tスイッチ(SK23D07) x 2
- CR2032 x 4
- 電池ホルダ(BC-2001) x 4
- ショットキーバリアダイオード(SOD123サイズ) x 4
- 100uFキャパシタ(3216サイズ) x 2
- PMOS(SSM3J332R) x 2
- リチウムイオンバッテリー(900mAh, 400mAh) x 2
- PHコネクタ(サイド型) x 2
- ねじ、スペーサー等 上の画像通り
- PORON(3mm)、両面テープ(1mm) 適量
頑張って組み立てる。PCB裏面の端部にPORONを貼り付けることでサンドイッチケースの音スカスカ感を解消しつつ、強くキーを押したときのクッションになることを期待した。また、電池ホルダのGNDパッドには薄くハンダを張らないとちゃんと接触しない。
完成
完成〜
Denpaと厚みを比較すると同じロープロファイルスイッチでもより薄型化に成功していることがわかる。それでいてバッテリー上下のクリアランスはDenpaより改善されている。代わりに必要なチルト角が増加しているが、あまり気にならない。
良くないところ
- ゴム足が三点支持なので小指で押すようなキーを強く押すと反対側が浮いてしまう。
- 結構打鍵音が大きい
GitHub: https://github.com/object1037/L4