Raspberry Pi pico×qmk_firmwareで自作キーボードを作る
この記事では格安、高性能なマイコンRP2040が搭載されているボード、Raspberry Pi picoを使ってキーボードファームウェアを作ります。
いままで自作キーボードというとATmega32u4が載っているProMicroなどで作るのが主流(私の偏見ありw)でしたが、半導体不足の影響で価格が高騰しています。
そこでRaspberry Pi picoです。以下、パイピコと略します。
パイピコは1枚で600-1100円程度と非常に安く、RP2040単体であれば150円くらいで買えてしまいます。
秋月なら600円ですが送料かかります。
amazonなら1100円ですが送料無料です。
さらにはATmega32u4と比較して圧倒的に高性能なため、
・プログラムサイズを気にしなくて良くなる
・キーマトリクススキャンが高速
などの利点もあります。
なぜQMK firmwareか
パイピコを使って自作キーボードを作る場合、
などのファームウェアがあります。
ただし、2022/7/25現在ではレイヤ周りの操作感に難があったり、Remap/VIAに公式で対応していなかったりと、本格的にキーボードとして使うには不満があります。
一方QMK firmwareでは大勢の利用者により完成度の高いキーボードファームウェアとなっています。
ここ最近となってRP2040にも対応されたことを受け、自分でも試してみることにしました。
QMK firmwareの準備
QMK firwmwareの準備は公式ドキュメントを読めば完了します。このセクションでは公式ドキュメントを要約しています。(2022/7/24現在)
※以下はWindows環境を前提としています。
QMK MSYSのインストール
1.下記からQMK MSYSをダウンロード、インストールします。
2.QMK MSYSを起動し、 qmk setupを実行。
3.(2022/7/25現在、masterブランチではrp2040対応されていないため)developブランチに切り替える。
お試しビルド
下記コマンドを実行し、ルートディレクトリにuf2ファイルが出来上がればrp2040用ファームウェアをビルドできる準備は完了です。
qmk compile -kb handwired/onekey/rp2040 -km default
任意のキーボード作成
qmk new-keyboardで新しいキーボードフォルダを作ります。
途中、「What Powers Your Project」というところで「28:RP2040」を選択し、RP2040用の環境を作成します。
後はkeyboardフォルダに環境ができますので、configファイルやkeymapファイルをいい感じに触れば完了です。
qmk compileでビルドし、uf2ファイルが出来ればOKです。
例として、私が今回作成したものが以下になります。
GRIN Type-Rのqmk版作りました!
対応レイアウトは画像のやつです。
ソースここです。↓https://t.co/Ih0AqFcqmr pic.twitter.com/2wzjeSgaDG— ⌨️らて🫠 (@7_rate) July 20, 2022
トラブル
qmk compileをしたときにPillowがインストールされていないことでビルドエラーとなることがありました。
普通はpip installでPillowをインストールして解決するらしいのですが、私の環境では上手くいかず、下記を試して解決しました。
パイピコに書き込み
1.パイピコのBOOT SELボタンを押しながらUSBケーブルを接続します。
2.リムーバブルディスクとして認識されることを確認。
3.qmk compileで出来上がったuf2ファイルをリムーバブルディスクにコピーします。
4.しばらくしてキーボードとして認識されることを確認します。
5.キー入力できることを確認します。
終わりに
パイピコ(RP2040)を使えば低コストで入手性が良く、高品質な自作キーボードの基盤となることが分かりました。
今後私がリリースする自作キーボードは、RP2040を採用していく予定です。
パイピコ対応を進めたQMK firmware、ChibiOSのコミッタさんには頭が上がりません…
この場をお借りしてお礼申し上げます。
ディスカッション
ピンバック & トラックバック一覧
[…] qmk new-keyboard コマンドで新しいキーボードを定義します。mcu として RP2040 を指定します(参考)。 […]