はじめに
ここ1-2年ほど外出時にPCを持ち運ぶことはなくなり、iPad Miniと折りたたみキーボード、マウスを持ち運び使用していました。自宅で動かしているcode-serverに繋いでプログラミングをしたり、Splashtopで家のWindowsマシンに繋いでAutoDesk Fusionを触ったりもします。今回製作したキーボードの基板も、実家に帰省中のヒマな時間にiPad Mini + Splashtop + KiCADで設計しました。
iPad Miniと一緒に持ち運ぶキーボード選びはかなり苦労してきました。キー配列にいくつか妥協できないポイントがあり (英数・かなキーなど)、キーボードの選択肢が少ない上にiPad Miniの軽さを活かそうとするとキーボード自体の重量もできるだけ抑えたいです。そこで自作キーボードに手を出すことにしたのですが、まずはあまり凝ったことはせず比較的ベーシックな設計の40%キーボードを製作してみました。KiCADを触った経験も自作キーボードキットの組み立て経験もなかったのですが、自作無線キーボード 完全解説 ~基本と構想編~|白湯_sayu のおかげで思っていたよりもスムーズに設計することができました。本記事も今回制作した自作キーボードで執筆しています。
製作したキーボードの紹介

主な仕様は次のような感じです。
- キースイッチ: Kalih Choc V2 Deep Sea Silent Mini
- キーキャップ: JezailFunder LCKキーキャップ
- MCU: XIAO nRF52840
- キー数: 42
- 電源供給: CR2032 (ボタン電池)
- 重量: 195g (ケース込み) / 152g (ケース抜き)
安全性や処分の手間の観点からLiPoバッテリーの代わりにボタン電池(CR2032)を使用しつつ、消費電力の小ささに定評のあるXIAO nRF52840 + ZMK firmwareを採用しました。キー数を増やすためにCharlieplexingについても検討・調査してみましたがCR2032の電圧では昇圧なしで安定させられるかどうか自信がなく、I/O Expanderも検討してみましたがZMKの設定がよくわからず見送り、キー数は比較的手軽にアクセス可能な13個のGPIOを使って42キーとなっています。今後キー数を増やしたくなったときのためにnRF52840 Plusも購入しましたが今回は使用していません。
これまで使っていたMOBO Keyboard 2は280gあったのでケース込みでも以前より軽くなりました。ここまで軽くなるとは思わず嬉しい誤算です。
注意点としてUSB接続時にBATに逆電圧がかかりボタン電池が爆発するという話を見かけたので、ChatGPTに相談しながらPch MOSFETを挟んだのですが、テスターで見てみると逆電圧が普通にかかってしまっていて回路の設計ミスがありそうです。 パターンカットして修正しようと思いますが、キーマップも自分の中で固まったこともありUSB端子を使うことは基本的にない気がするのでケースでUSBポートを隠してしまって無線のみで使おうと思います。絶対なにか致命的なミスをすると思っていたので見切り発車であまりこだわりすぎずに基板を発注しましたが、大きなミスはなさそうで安心しました。特にスライドスイッチのシンボルやフットプリントは、余っていた部品を使うためにChatGPTに図面と仕様を教えて作成してもらったのですが、なにも問題なく機能してそうです。
40%キーボードの感想とキーマップの工夫
設計面以外で一番心配していたのは40%キーボードを自分が使いこなせるかどうかでした。プログラミング用途でもストレスなく使えるのは60%サイズになると思うのですが、キーボードについて調べる中で特に気になったGeonix 48やClickboard Ergo Mini、Riemann v2、Cornixなどのキーボードがどれも40%サイズだったので、頑張って覚えることにしました。
まだ使い始めて1日ですが、想像より何倍もスムーズに打てています。アルファベットに関しては普段使っているMacbook Proと同じなのでブラインドタッチができるのですが、記号の入力についても下記のようにアルファベットではなく記号のキーキャップをはめてみたところそこまで苦労せず入力できました。ロウスタッガードにしたおかげでアルファベットはストレスなく打てるというのが、40%キーボードに慣れるうえで個人的には一番重要だったのかもしれません。

キーマップ上の工夫で言うと、ホームポジションがわかるようにfとjには記号を割り当てず (キーキャップに突起があるため)、矢印キーはおそらく定番だと思うのですがhjklに割り当てました。それ以外は概ね画像のとおりです。
おわりに
40%キーボードはすぐに心が折れてしまうかなとも思っていたので、60%サイズを設計するためにXIAO nRF52840 Plusも購入していたのですが、思ったよりもスムーズに使えているのでこのまま今回のキーボードを使い続けようと思います。特にCR2032の電池持ちが気になっているのでしばらく使ってみて不満が出てくるようであれば単4電池+昇圧などを検討しようと思います。
また基板が余っているのでご興味ある方はイベントなどでお会いする機会があればお渡しします。基本的には直接の知り合い限定になるかと思いますが、ご興味ありましたらお声がけください。
参考にした情報
- - YouTube
- CharlieplexingやI/O Expanderの検証はブレッドボード上で行っていたのですがこちらの動画を真似しながらzmkの勉強や検証を行いました。zmkの解説とてもわかりやすかったです。
- 自作無線キーボード 完全解説 ~基本と構想編~|白湯_sayu
- XIAO nRF52840やChoc v2対応のフットプリントなども配ってくださっていて設計がスムーズに行きました。基板設計の解説もとてもわかりやすかったです。
- Title72
- 最終的には採用しなかったのですが、当初はこちらをベースにCharlieplexingで設計してみようと考えていました。zmkのconfigなどとても勉強になり公開に感謝です。
- GitHub: https://github.com/te9no/zmk-config-title72
- Booth 商品販売ページ: Title72 - なれはてぷれいぐらうんど - BOOTH
- Riemann v2
- iPad Miniと一緒に持ち運ぶとなると横幅をとにかく減らしたかったのですが、Riemann v2が12列228mmとコンパクトにまとまっているのをお見かけして今回のキーボードも12列で進めることにしました。GRIN配列について知るきっかけにもなりました。