RP2040 を直に実装する自作キーボード Sparrow59 v1 を試作したよ

一体型の自作キーボード Sparrow59.を試作しました! この自作キーボードの特徴と、経緯と、チャレンジしたところを紹介します。

まずは写真見て!

特徴

  • RP2040 の手でのはんだ実装が必要!
  • Poker、GH60 互換ケースに対応
  • Sparrow62 とほぼ同じ配置

経緯1 Durock Splash Brothers

これまで私が作ってきた、 Sparrow62v2 は左右の手が別れた自作キーボードでした。

booth.pm

私自身が強いタクタイルスイッチ(特に Durock T1 Sunflower)が好きで、底打ちをしないように使ってきました。 底打ちとは、スイッチを一番下まで押してキーボードの底を叩くような入力方法です。 強いタクタイルスイッチでは、一度押した重さの強いところがあり、それを超えて押すと重さが軽くなります。 その軽くなるところまでをめがけて押していたため、さらにスイッチを一番下まで押す、底打ちをしませんでした。 底打ちをしないためか、あまりキーボードの柔らかさについて考えることがなく、なるべく固く、そして薄くを考えて作っていました。

ところが、愛用しているタクタイルスイッチ T1 Sunflower を出している Durock から Durock Splash Brothers という新しいスイッチが出ました。 日本でも取扱店があります。

https://talpkeyboard.net/items/632c0bd64ba8b475bdce54e0talpkeyboard.net

Durock Splash Brothersshop.yushakobo.jp

このスイッチは、いわゆるスピード軸と呼ばれる、スイッチを押下してから短い距離で反応するスイッチです。 通常の自作キーボードのスイッチの総トラベルが4mm、動作点が2mm が普通ですが、このスイッチは 総トラベルが3.5mm、動作点が1mm となっています。 Durock から今までスピード軸のスイッチは発売されていなかったため、気になって購入しました。

私の左右分割キーボード Sparrow62v2 で試しましたが、その体験は非常に悪いものでした。 確かに早く反応して軽快に文字を打つことができるのですが、打ったあとに底打ちをすると、すごく強い反発があります。 特に Sparrow62v2 は、薄く、固くすることを考えて作ってきたため、底打ちでの力の反発がとても指に乗ります。 すぐに指を炒めてしまい、Splash Brothers スイッチを使い続けることができませんでした。

この底打ちを楽しむためにはどうすればよいか考えたところ、しっかりとしたケースを使ったキーボードを作るべきだという結論に至りました。 最近の自作キーボードでは、スイッチの下に緩衝材を加えたり、スイッチを支えるトッププレート、PCB を緩衝材の挟み込みで支えるガスケットマウントという方法が取られていることを知りました。 今まで私自身の方針から、この必要性を感じて来なかったのですが、Splash Brothers を使って見るためには、これらを試せるキーボードが必要であると思いました。

経緯2 RP2040を直接使いたい

Sparrow62v2は一般的に自作キーボードで使われる ProMicroではなく、Raspberry Pi Pico を使っていました。 これは Raspberry Pi Pico が半導体不足の中でも、入手しやすく、かつ、性能が高いためです。

この Raspberry Pi Pico で使われるマイコン RP2040 は、マイコン単体でも販売されていて、組み込むことができます。 Raspberry Pi Pico が Pro Micro よりは少し大きい開発ボードなこともあり、この RP2040 を直接使ったガジェットを作ってみたいと思っていました。 しかし、RP2040 自体 0.5 mm ピッチの表面実装が必要な部品であり、自分ではんだづけして楽しむには大変であろうと思いました。 そのRP2040 を取り扱うスキルを磨いたことと、そのノウハウを、技術書典13 で頒布した『土曜日のRaspberry Pi PIco』という同人誌にしたためました。

74th.booth.pm

このRP2040 開発トライキットは、booth でも販売しています。

74th.booth.pm

では次はガジェットに直接.RP2040 を組み込む機会を狙っていて、今回作ってみることにしました。

ケースのお試し

自作キーボードで使われるケースには、Poker、GH60 と言われるキーボードがあり、その互換品のケースが広く使われて、また販売されています。

まずは安価なケースから試そうと思い、以下のようなケースを買いました。

60% プラスチックケースshop.yushakobo.jp

ケースの外形を知るためには、他のオープンソースキーボードのKiCadイメージを参照しました。 JP60 というGH60 を日本語キー対応したキーボードがあり、こちらを参考にしました。

github.com

RP2040 を組み込む

このツイートの左下が、RP2040 の組み込みスペースです。

RP2040 を組み込むにあたり、きちんと組み込めていることを確認するため、自作キーボードの制御に必要なピンを外に出していました。 RP2040 に必要な部品を組み込み、このピンを使って、Raspberry Pi Pico と同様に使えることを確認することで、RP2040 を正しく実装できたか確認できるようにしました。

RP2040 を組み込んだトラブル

まず、実装後 USB を接続してみたところ、認識しませんでした。

そして、テスターを持って、各電圧が出ているかを確認しました。

RP2040 にはロジック内部で使われる電圧 1.1V にする内蔵レギュレータがあり、その1.1Vピンを測ってみたところ、0V となっていました。 つまり、内蔵レビューレータのインプットVRegIn にはんだづけ不良があるということが分かります。 VRegIn のところを再度はんだ付けしたところ、USB で Raspberry Pi Picoのドライブ(Raspberry Pi Pico は USB ドライブとして認識されて、そこにファームウェアを入れることで書き込める)が無事認識されました。

次に、3秒ごとに、隣り合うピンが On と Off を繰り返すプログラムをCircuitPython で実装し、動かしました。 3.3V が計測されない場合、そのピンにはんだづけ不良があることが分かります。 このプログラムでは、隣り合うピンは同時には On と Off が異なるようになっています。 スライドされることで、隣り合うピンがブリッジしている事がわかると思いました。

実際に、計測しても 0V のピンが見つかり、修正されました。

その後になぜか 1Vが計測できる、隣り合うピンありました。 いろいろ試した結果、このピンがブリッジしていて、3.3V と 0V が同時に出た結果、1Vとして計測されているようでした。 この部分の余分なはんだをハンダ吸い取り線で取り除いたところ、期待通りに計測できるようになりました。

ケースを使ってみたトラブル

ケースを使ってみて、今までよく使っていた USB Type-C ソケットを使ったところ、ケースについている穴に適合しませんでした。 プラスチックケースなので、ケース自体の穴を加工して、刺さるようにしました。

今までミッドマウントタイプのソケットを使っていました。

これだと高さ的に合わないのと、PCBの裏面にソケットを実装するのが適切になっていました。 次からはこのタイプのUSBソケットを裏面に用意しようと思います。

akizukidenshi.com

つかってみてどうだったか

Splash Brothers を組み込んでみました。

そして、得られたのは非常に軽快に、指に負担なく使えるキーボードになりました。

リニアスイッチは、タクタイルスイッチと違って、底打ちまでして押した感覚だったのだなと学びました。 とても新しい感覚で、これを入力しながらもすごく楽しんでいます。

まだ改善すべきこと

Sparrow59 は Sparrow62v2 の配置を踏襲しているため、キー入力自体は今までと同じ速度で使うことができました。 しかし、まだ改善とか、研究する余地があります。

  • キースイッチの下に緩衝材をつけるとどうなるか
  • 簡易な緩衝材として、ケースへのネジ止めの部分にゴムを挟むとどうなるか
  • Oリングを使ったガスケットマウントはするとどうなるのか
  • Splash Brother のバネにもっと重いものを使うとどうなるのか
  • 金属ケースはどんな感じか
  • Splash Brothers 以外のリニアスイッチはどのくらい楽しいのか
  • 左右分割 Sparrow62v2 にケースを3Dプリンタで作るならばどうするべきか
  • というか、RP2040 実装人に勧められないので、Raspberry Pi Pico をケースに組み込む余地はあるのか。

おわりに

いやー、リニアスイッチもすごく楽しいです!!

もし、興味が惹かれた方は、Poker互換ケースが使えるキットはたくさん出ているので、そちらを探してみてください。

このキーボードのキット化は、RP2040 の実装を人にすすめることはできないので、PCBA してでも作る気力が出てきたら少数やってみます(当面はなしか、完成品の販売)。