MicroPythonで組んだ12キーのマクロパッド、ブラウザのみで書き込める

自作キーボードやマクロパッドのファームウェアは、QMKをC言語で書くことが多い。Jpwaters09氏が公開した12キーのマクロパッドは、そこをあえてMicroPythonで組んだ。完成品の見栄えより、ファームウェアとハードウェアの判断そのものに意見が欲しいとして公開した。

中核にはRP2354Aを据えた。Raspberry Piが設計したRP2350系の派生品で、2MBのフラッシュを同じパッケージ内に積層する。パッケージはQFN-60で、GPIOを30本引き出せる。既存のPicoモジュールに載せるのではなく、専用の基板を起こしてチップを直接実装した。

表示は128×64のSSD1306を使ったOLEDで、現在のレイヤーと各キーに割り当てた機能を示す。押しボタン付きのロータリーエンコーダーを備え、直交信号は状態機械で処理する。ボタンを長押しするとレイヤーが切り替わる。接続はUSB-Cで、USB HIDに準拠するためどのOSでもドライバーを入れずに動く。

MicroPythonを選んだ理由として、開発中の試行を速く回せること、ブラウザで動く設定ツールを作りやすいことを挙げる。同時に、USB HIDのようにタイミングに敏感な用途では一般的な選択でないことも自覚している。C言語なら問題にならなかったはずの壁、たとえばUSB HIDまわりのタイミングや割り込みの遅れで詰まった経験がないかを尋ねている。

もう1つ意見を求めているのが、書き込みの仕組みだ。Web Serial APIを使ってブラウザからUF2を書き込み、そのときOTPからチップのIDを読み出して通し番号を割り当てる。専用アプリを入れる必要がない代わりに、ブラウザとOSの組み合わせをまたいだときの信頼性が読めない。同氏は、この方式とネイティブの書き込みツールのどちらが妥当かを問うている。対応ブラウザはChromeとEdge、Opera、Firefoxで、Safariは動かない。

レイヤーの追加や編集、削除もWebの設定ツールから扱う。ソフトウェアを入れずに済ませる方針が、書き込みから設定まで一貫している。

公開範囲は広い。ファームウェアと基板データ、3Dモデル、単価とLCSCの品番まで載せた部品表をMITライセンスで出しており、筐体は3Dプリントで作れる。同氏は、完全にカスタマイズできてオープンソースなマクロパッドを作りたかったことに加え、回路図の設計と基板のレイアウト、3Dモデリングの技量を上げる目的もあったと書く。数台を追加で製作する前に、見直すべき設計判断がないかを確かめたいとしている。

関連情報

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次