Cassette42 を PRK Firmware で動かす

この記事は PRK Firmware Advent Calendar 2021 23日目のエントリです。

昨日は eswai さんの「PRK firmwareをbuildする」でした。

こんにちは、cobachie です。

meishi2、7sPro に続く3つ目のキーボードとして、Cassette42 というメディアパッドを組み立てました。メディアパッドというのは、Spotify などの音楽ストリーミングサービスで音楽を聞くときに便利なキーボードで、再生 / 停止やボリュームなどを操作するものです。

このキーボードを選んだのは、

  • ロータリーエンコーダーや OLED を使ってみたかった
  • 見た目がかわいい

からです。

f:id:co_bachie:20211218170305p:plain

用意したもの

Cassette42

Cassette42 キット

SparkFun Pro Micro RP2040

RP2040搭載 SparkFun Pro Micro

ロータリーエンコーダーのノブ

ロータリーエンコーダー用つまみ・ノブ「ニブルス・メキシカン15」【オフホワイト色】Dシャフト(平軸)6mm径対応 を買いました。

ロータリーエンコーダーのノブはかわいいものを見つけるのが難しかったです。かわいいノブの探し方をご存知でしたらぜひおしえてください。

キーキャップ・キースイッチ

TALP KEYBOARD さんで買ったおためしセットのタクタイルキースイッチを付けました。

キーキャップは 7sPro で使った NP PBT Crayon KEYCAPS SET に入っていたハートのキーを使っています。

組み立て

ビルドガイド を見て進めました。タブのない LED のはんだ付けは初めてでちょっと苦労しました。

PRK Firmware で動かす

組み立てた後、まず QMK Firmware で動くのを確認してから PRK Firmware でも動かしてみることにしました。

なんとバージョン 0.9.9 でダイレクト型に対応できるようになったので Cassette42 も動かせるようになりました。大感謝です👏

github.com

PRK Firmware はまだ OLED には対応していないので、今回はキースイッチ、ロータリーエンコーダー、LED の操作をできるようにしました。

keymap.rb

  • キースイッチ
    • 左から 再生 / 一時停止ミュート前のトラック次のトラック
  • ロータリーエンコーダー(左)
    • 音量調節
    • 押したときは ミュート
  • ロータリーエンコーダー(右)
    • LED の色を変える
    • 押したときは LED の ON / OFF 切替

mruby girls のこと

私が自作キーボードをはじめたのは、RubyKaigi Takeout 2021 の hasumikin さんの発表 「PRK Firmware: Keyboard is Essentially Ruby」 がきっかけでした。

それまでも友人の emorima が沼にはまっていっている様子は見ていたのですが、自分自身は「はんだ付けをやったことないし、私にはHHKBがあるし..」と踏み出せずにいました。ですが、この発表を見て「Ruby で動くキーボードがほしい!」と思いとうとう始めてしまいました。

そして hasumikin さんのスライドに mruby Girls の名前が登場していたのを見て mruby girls の活動もはじめています。 今のところ月イチで自作キーボードやりたい人たちが集まって、ゆるゆるとキーボードの話をしたり、キーボードを組み立てたり、キーボードの買い物をしたりする会になっています。

次回の開催は 2022年1月23日(日) 10:00~12:00 です。

名前は mruby girls ですが性別不問なので、興味のある方のご参加をお待ちしています。場所は Rails Girls Japan の Discord です。(Discord のリンクはお近くの Rails Girls 関係者に聞いてください。)

--

明日、明後日は hasumikin さんです。 いよいよ 1.0.0 がリリースされるのでしょうか !? たのしみです。