この年末年始は PRK firmware の動くキーボードを作って、新年のスタートでライバルと差をつけよう
タイトルはてきとうです。
これは2021年PRK Firmwareアドベントカレンダーの 20 日目の記事です。前後の記事は、カレンダーから辿ってください。
ここまでの Advent カレンダーの内容で、PRK firmware について興味を持たれた方も多いのではないでしょうか?そこで、今回はそのような方のために、どうやったら PRK firmware の動くキーボードを入手できるかということをまとめてみたいと思います。
なお、本記事では自作キーボード自体に必要となるパーツや道具の説明、組み立て方には踏み込みません。そちらについては、手前味噌となりますがWEB+DB PRESS Vol.112の「自作キーボードのススメ」という記事、もしくはサリチル酸さんによる「自作キーボードを始める時のFAQ」をお読みください。
PRK firmware が動くキーボードとは
PRK firmware は RP2040 というチップ上で動作します。そのため、RP2040 が使えるキーボードを入手しなければなりません。キーボードが以下のいずれかである必要があります。
- Raspberry Pi Pico が採用されているキーボード
- ProMicroが採用されているキーボード
Rasberry Pi Pico や ProMicor は開発ボードと呼ばれ、キーボードのコントローラーになります。これらが、上記の 2 つになっている必要があります。市販の完成品のキーボードで、これらの開発ボードを採用しているキーボードは私の知る限りは存在しておらず、自ずと自作キーボードのキットを買うことになります。
では、それぞれのパターンでの入手方法についてみていきます。
Raspberry Pi Pico が採用されているキーボード
まず、Raspberry Pi Pico が採用されているキーボードの場合、Raspberry Pi Pico に RP2040 が載っているため、そのキットと指定されている付属品のみを購入し、組み立てることで、PRK firmware で動作するキーボードを入手することができます。
Raspberry Pi Pico を採用しているキーボードとしては、Lunakey Pico や Gherkin for the Raspberry Pi Pico、cool836pico があります。商品ページを見ると、どちらも PRK firmware で動作した実績があるようです。
ProMicro が採用されているキーボード
一方、ProMicro が採用されているキーボードの場合、Raspberry Pi Pico を採用しているキーボードとは違い、キットに指定されている付属品以外に必要なものがあります。
ProMicro 自体に載っているチップは ATmega32U4 というものであり、PRK firmware は動作しません。そこで、ProMicro と同形状の RP2040 が載っている開発ボードが必要となります。
ProMicro の形状で RP2040 が載っている開発ボードで、PRK Firmware が動作した実績があるものとしては以下の 3 つがあります。
PRK Firmware を書き込む際に、開発ボードを Bootsel モードと呼ばれるモードにする必要があるのですが、1 と 2 についてはボードを Bootsel モードに移行させるためのボタンがついており、3 にはボタンがついておらず自分でピンをショートさせる必要があります。
日本の自作キーボードでは、ProMicro をキーボードに取り付ける際に、はんだ付け箇所を減らし開発ボードをキーボードから取り外ししやすくするためのコンスルーとよばれる部品がよくつかわれます。1 と 2 については、前述の Bootsel モード用のボタンや JTAG のコネクタがついている影響で、よく使われるコンスルーでは高さが足りないということがあります。そのため、1 と 2 を使う場合は、DailyCraftKeyboard さんで販売されている3.5mm コンスルーを入手することをおすすめします。
ProMicro が採用されている以下のキーボードで、PRK Firmware での動作が確認されています。
- Claw44 v2****
- Corne Cherry V3
- ErgoDash
- SilverBulletRequiem or SilverBullet44
- Zinc (シンメトリカルZincは動作未確認)
上記以外の ProMicro を採用しているキーボードであれば動作させることは可能だと思いますが、一から PRK firmware に必要となる keymap.rb を書こうとすると若干 QMK Firmware のコードを読んだりする必要があります。もし、わからなければ ruby-jp という Slack ワークスペース にある #picoruby というルームで相談してみるとよいかもしれません。
これは個人的な提案ですが、開発ボードに RP2040 の載っている ProMicro 互換ボードを使うからといって、ProMicro を買わないということはやめましょう。自作キーボードの開発者は ProMicro で動作することを確認しているはずです。購入後すぐに RP2040 の載っているボードで組み立て、自前 PRK Firmware を設定したが動かないというとき、キーボードの組み立てが悪いのかファームウェアが悪いのかの切り分けができません。そこで、動作実績のあるであろう ProMicro で切り分けが確認できるようにすることをお勧めします。
さいごに
本記事では、PRK Firmware が動作するキーボードを入手する方法について紹介しました。年末年始はショップもお休みにはいることでしょうし、興味がある方は今週中に発注し、冬休みのお楽しみにしましょう。
最後に、一から道具をそろえて入門したい人向けに、私のおすすめ商品構成をのせておきます。作製の難易度や価格は、あまり考慮していません。
- 半田ごて等一式
- キーボード本体 CorneCherry V3
- 開発ボードSparkFun Pro Micro - RP2040 2 個
- キースイッチ(リニア) MOMOKA Flamingo Switch (カートにいれる個数は 5 )
- キーキャップ PBT XDA PBT KEYCAPS
- TRRS ケーブル (キーボードを左右つなげるために必要)
- コンスルー 4 個
これらを全部いれて予算オーバーの場合は、半田ごてを一式セットでなく必要なもののみにするとか、キースイッチを他の安いものにすることで価格を抑えられるでしょう。
また、作製に不安がある方はsandbox keyboardという、はんだ付け練習用基板でありながらキーボードとしても動作する基板を購入して練習するのもいいと思います。
こちらもたぶん PRK Firmware で動作させることができると思います。
Discussion