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か

パイピコを使って自作キーボードを作る場合、

KMK firmware

PRK 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です。

 

例として、私が今回作成したものが以下になります。

トラブル

qmk compileをしたときにPillowがインストールされていないことでビルドエラーとなることがありました。

普通はpip installでPillowをインストールして解決するらしいのですが、私の環境では上手くいかず、下記を試して解決しました。

 

パイピコに書き込み

1.パイピコのBOOT SELボタンを押しながらUSBケーブルを接続します。

2.リムーバブルディスクとして認識されることを確認。

3.qmk compileで出来上がったuf2ファイルをリムーバブルディスクにコピーします。

4.しばらくしてキーボードとして認識されることを確認します。

5.キー入力できることを確認します。

 

終わりに

パイピコ(RP2040)を使えば低コストで入手性が良く、高品質な自作キーボードの基盤となることが分かりました。

今後私がリリースする自作キーボードは、RP2040を採用していく予定です。

 

パイピコ対応を進めたQMK firmware、ChibiOSのコミッタさんには頭が上がりません…

この場をお借りしてお礼申し上げます。