この記事はキーボード #1 Advent Calendar 2023 12月21日の記事です。
はじめに
現在開発中のpicot5400について紹介します。
picot5400はタイトルに記載の通り、トラックボールとマイコンをモジュール化して様々なキーボードで扱えるようにするためのユニットです。ProMicroなどのマイコンと、マウスセンサーのブレイクアウトボードを合体させたようなユニットです。ProMicroで自作キーボードを設計したことのある方であれば、簡単にトラックボール付キーボードの設計ができることを目指して開発しています。
12pinコンスルーに対応した pic.twitter.com/uJyt7ttutV
— aki27 (@aki27kbd) November 27, 2023
主な特徴を列挙してみます。
- マイコンはRP2040を採用
- トラックボール用のマウスセンサーとしてPMW3360を採用
- USBとの接続はJSTケーブルを用いてUnified Daughter Boardと接続
- 24本のGPIOを引き出し可能
- 12ピンコンスルーで他の基板と接続可能
- 外形は38.1×38.1mm(2u×2u)キーボードの配列に馴染ませやすいサイズ感
- ベアリングローラーによる支持でスムーズな操球感
- ファームウェアはマトリクス部分をinfo.jsonに記述するのみで動作可能
コントローラー: RP2040
マイコンは最近設計しているキーボードと同じくRP2040を採用しています。従来のProMicroはATmega系列が採用されていましたが、ファームウェアの容量に苦しむことが多く、トラックボール用のカスタムキーコードやLED、vialと共存させることが難しかったのですが、RP2040に移行してからは容量問題に悩まされることが一切なくなりました。カスタムキーコード+RGBマトリクス+vialなどもお手の物です。
マウスセンサー: PMW3360
マウスセンサーも2022年末に設計したcocot36plus v1以降共通でPMW3360を採用しています。それ以前に採用していたADNS5050は安価で必要部品点数も少なく、最初は扱いやすかったものの、ビリヤードボールなど純正のトラックボールでないボールとの相性の悪さ、レンズが大きくかさばる、センサー用LEDの主張が強いなど気になる点もあったため、PMW3360に移行しています。
USB接続: Unified Daughter Board
これは設計中に最も悩んだ部分です。USBコネクタもモジュールに載せてしまうこともできなくないですが、その場合、次のようなメリット・デメリットが生じます。
〇 ドーターボードが不要になりユーザーが必要とする部品点数が減る
× USBコネクタの位置とトラックボールの位置が固定化されてしまい設計の自由度が減る
個人的にはUSBコネクタの位置が固定化されてしまうのが致命的だと感じたので、ケーブルで自由に引き延ばせるようにドーターボード化することとしました。
24本のGPIO
RP2040には30本のGPIOがありますが、マウスセンサーと接続する5本を除く25本のうち、24本を引き出せるようにスルーホールを設けています。後述のモジュールのサイズの都合上、残りの1本は泣く泣く諦めましたが、ProMicroと比較しても十分な数のピンが引き出せたのではと思います。センサーが中央に鎮座するので、片側に追いやられたマイコン廻りの配線はなかなか手強いものでした。
12ピンコンスルーによる接続
これも設計時に悩んだ点の一つです。フラットケーブルなども検討しましたが、部品の入手性や必要十分なピン数を引き出しやすいという点から、2.54mmピッチスルーホールに落ち着きました。両サイドのスルーホールは12ピンずつなので、ProMicroと同じ12ピンコンスルーを用いることができます。KiCAD用のシンボル・フットプリントを公開予定なので、ProMicroと同じ感覚で設計が可能です。
2u×2u(38.1×38.1mm)におさまるサイズ感
これはmeishi trackball moduleから受け継がれた特徴で、キーボードに埋め込むモジュールとして扱いやすいユニット(1uキー4つ分のスペースにおさまる)かつ入手性の良い34mmボールを無理なく支持できるという点でちょうどよいサイズ感となっています。ProMicroと比較すると横長ですが、ボール下にちょうどおさまるようになっているので、レイアウトしやすく置き場所に困りません。
ベアリングローラーによる支持
これも最近の設計を受け継いでいます。ジルコニア球による支持も嫌いではないのですが、トラックボールが大きくなればなるほどベアリングローラーによる操球が心地よく感じられます。ぜひ大玉と合わせて体感してみてもらいたいです。また、ボールケースはコンスルーやモジュール支持用のネジ穴と干渉しないようになっているので、キーマトリクス用のPCBとの接続方法を柔軟にデザインすることが可能です。
QMKファームウェアへ簡単に可能なテンプレート
まだ準備中ですが、トラックボールの操作などの部分は触らずにinfo.jsonにキーマトリクスの記載(Row/Columnで用いるピンの指定)を行えば動作するようなものを用意する予定です。
最後に
頒布に向けて細かい部分の調整中です。
Top画像にあるOrtholinear 40%のキーボードはこのpicot5400を採用した作例で、設計データを公開予定です。
準備ができ次第X(Twitter)などで告知をいたします。
この記事はballyで書きました。