最近キーボードの話ばっかりですが、ひとしきりやって満足したら他ジャンルのネタも出していくので、も少しお付き合いください。
これまでは、人間にとっての使いやすさを追求する、エルゴノミックキーボードに傾倒しててDactyl Manuform を作り込んできましたが、今回はそれとは対極のようなキーボードをつくるお話です。
- Gherkinとは?
- ラズパイPico版のGherkinが出た
- PiPi GherkinのPCB
- 部品リスト
- 直付け or ホットスワップで迷う
- 組み立ての順番が超重要
- ハンダごては温度調整機能付きのものを
- ダイオードを取り付ける
- 短いピンヘッダーが欲しい
- スイッチを取り付ける
- Pi Picoを取り付ける
- ケースもつくろう
- ファームウェアは「KMK Firmware」
- キーマップ
Gherkinとは?
2016年に40%Clubから発表された、30鍵のミニマムなキーボードです。ちなみに、ガーキンというのは、ピクルス用の小さいキュウリのことです。緑色の小さな基板だからですね?
さすがにキーが少ないので、使いこなすためにはキーマップに相当の工夫が要りそうです。
ラズパイPico版のGherkinが出た
そして今年の2月、同じく40%Clubから、「PiPi Gherkin」が発表されました。
オリジナルのGherkinは、コントローラーとしてArduino Pro Microを使いますが、PiPi GherkinではRaspberry Pi Pico(以降Pi Pico)を使います。
Pi Picoは、Raspberry Pi財団独自設計のチップ「RP2040」を載せた最近話題のマイコンボードで、Arduino Pro Micro同様、USB-HIDとして振る舞うことができるので、自作キーボードのコントローラーに使うことができます。
550円という破格の安さも魅力的で、発売当時は品薄になっていましたが、今は落ち着いたようです。
PiPi GherkinのPCB
ガーバーデータがオープンになっているので、自分でPCB製造サービス頼むこともできますが、このサイズの基板は、10枚単位とかで出さないとめちゃくちゃ割高になります。
この基板のニッチさも相まって、なかなか入手ハードルは高めです。
しかし、ありがたいことにTALPKeyboardさんが小売りの取り扱いを始めてくれたことによって、劇的に入手性が向上しました。
1枚880円、送料込みでも1,100円、とっても安い気がします。
部品リスト
- Raspberry Pi Pico 1個
- PiPi Gherkin PCB 1枚
- ピンヘッダー 20ピンx2つ
- 1N4148ダイオード 30本
- MXスイッチ(5pinタイプ) 30個
- MX用キーキャップ 30個
直付け or ホットスワップで迷う
PIPI GherkinのPCBは、スイッチ直付けでもホットスワップソケットでも、どちらでも使えるパターンになっています。
どちらにするか悩みどころですが、今回は低コスト&省スペースを優先して、直付けすることにしました。
直付けのいちばんのデメリットは、モゲマイクロしてしまった時が絶望ってところですが、Pi PicoはUSBコネクターが丈夫に取り付いているタイプなので、そのリスクも小さいはずです。
組み立ての順番が超重要
直付けで固定してしまうので、順番を間違えると詰みます。必ずこの順番ではんだ付けしましょう。
- ダイオード
- ピンヘッダー
- スイッチ
- Pi Pico
ハンダごては温度調整機能付きのものを
これは電子工作全般で言える事ですが、ハンダごての性能は仕上がりに大きく影響するので、温度調整機能付きのものを強くおすすめします。 個人的なおすすめ機種は、値段と性能のバランスが良いHAKKOのFX600です。
ダイオードを取り付ける
組み立てで間違える可能性があるのは、ダイオードの向きだけです。はんだ付け前によく確認しましょう。
取り付け自体は30個なので楽勝ですね。ダイオードを取り付けたところで導通確認するのが良いそうですが、何かあればジャンパー飛ばせばいいやということで、そのまま進めます、ヨシ!
短いピンヘッダーが欲しい
一般的なのはピンソケットに刺す用の片側が長いタイプですが、今回は両方とも短いタイプが必要です。
1.6mmのユニバーサル基板を2枚重ねて、はみ出たところをニッパーで落として使いました。
PCBにはんだ付けしておきます。※先にPi Picoにはんだ付けしてしまうとゲームオーバーです、気をつけましょう。
スイッチを取り付ける
シルクで「MX1」とか描いてある面に取り付けます。
向きを間違う余地はないので、ナナメにずれないようにだけ注意してハンダ付けしましょう。
これも30個なので楽勝ですね。
Pi Picoを取り付ける
さいごにPi Picoの取り付けです、壊さないように高めの温度で手早くハンダ付けします。僕は温度設定320〜370℃でやりました。
ケースもつくろう
Gherkinはメジャーなモデルなので、探せばすぐケースのデータが見つかりますが、せっかくなので自分で設計することにしました。
よく見るのはサンドイッチタイプのケースですが、せっかくの板チョコみたいな可愛い外観を損ねてしまうのは嫌なので、基板の下におさまる形にしようと思います。
まずは基板の外形図がほしいので、Gitからガーバーデータを落として
PCBGOGOのガーバービューアーでSVGに変換
アウトラインとネジ穴と、Pi Pico外形のシルクを取り出して
Fusion360に取り込み、良い感じに線を書き足して押し出しで造形しました。
このデザインのポイントは、あえてPi Picoをむき出しにする事で、暗に「あなた方のGherkinとはひと味違うんですよ」というメッセージを出してライバルを牽制できるうえ、ケースの厚みを大幅に抑えて見た目をスタイリッシュにするという副次効果もあります。
そして、プリントして取り付けたのがこちら
手元に蛍光オレンジしかなかったので、色はだいぶ浮いてますが、形はカッコよくおさまったと思います。
stlをGitHubに上げてあるので、興味あればぜひプリントしてみてください。 ※上で書いた通り、ホットスワップソケットは考慮していない設計なのでご注意ください。
取り付けには、M2x4mmのナベタッピングビスがちょうど良いです。
ファームウェアは「KMK Firmware」
さて、QMKファームウェアのRP2040チップ対応が進んでいるらしいという話も聞いた気がしますが、Pythonベースの「KMK Firmware」を使うのがPiPi Gherkinの醍醐味です。
KMKを使うには、まずこのチュートリアルを参照して、Pi PicoでCircuit Pythonを使えるようにしてから
GitHubからKMKを落として、kmkフォルダをルートにコピーします。
設定ファイルは、40%クラブのGitからcode.pyをダウンロードし、こちらもピコのルートに置きます。
これだけで使えるはずなんですが、僕が試した時点ではエラーが出て少しハマりました。
Pi Picoは、HIDとして動かしながらシリアルコンソールでエラー出力を見る事ができる(神!)ので、エラーメッセージとソースコードとDocsをよく読めば、怖いものはありません。
ドキュメントの更新が追いついてない所もあるようなので、できればソースコードを直接読み解くのがおすすめです。英語ドキュメント読み解くのとPythonコード読み解くのと、労力的には大差ないと思うので。
ちなみに僕がハマった点はこの通り。
- コンパイル版を使おうとしたらBLEモジュールが定義されていないと怒られた→テキスト版に乗り換え
- そしたらMT(ModTap)とLT(LayerTap)が定義されてないエラー→KMKのDoc見てインポート文書いたら解決
- ModTapでCtrl使うと押しっぱなしになる→未解決、KMKのアップデートに期待
QMKのように、血へどを吐きながら開発・ビルド環境のセットアップをしなくても(個人の見解です)、最低限テキストエディターさえあればファームウェアを書き換えられるので、KMK素晴らしいです!
まだまた発展途上で、毎週のようにGitHubに動きがあるので、今後の進化が楽しみですね。
あと、最近はRubyベースのPRK Firmwareってのも盛り上がってきているようで、こちらも面白そうです。 rubykaigi.org
キーマップ
キーマップは、まずデフォルトのをそのまま使ってみてから、おいおいカスタマイズしていこうと思います。
30%...はたして使いこなせるのかな...🤔
【追記】さらにカスタマイズした話を記事にまとめました👇