マクロパッドを組むのに1年かかった話
これ。2022年中には完成させたいと思ってたので間に合ってよかった。
🎅メリークリスマス🎄 #KEEB_PD_TYPING #KEEB_PD #KEEB_PD_R128 pic.twitter.com/MigXrofM8n
— yhara (Yutaka HARA) (@yhara) December 25, 2022
↑演奏動画。
先に言っておくと霞襲の組み立てはなにも難しくないです(僕が無駄に手間取っただけ)
2月
メルカリでkuriharaさんから基板を購入。
3月
組み立てを開始したっぽい。https://twitter.com/yhara/status/1505054317199630337
4月
せっかくなのでPRK Firmwareを使ってみるかということでSparkFun RP2040 Pro microを入手。AdaFruit KB2040での動作報告を参考にするが、うまく動かない https://twitter.com/yhara/status/1513051422295994371
5月
Pro microが届いたので動作確認する。なんかホットスワップだと思いこんでたことに気づく https://twitter.com/yhara/status/1530367333927006208
lesovozを組み始めたので、いったん後回しに。https://twitter.com/yhara/status/1523241548506451969
6月
はすみさん(PRKの作者、松江市在住)に実機を見てもらう。 コンスルーは2.5mmではなく3.5mmでないとだめでは?という話に https://twitter.com/yhara/status/1538425244209528832
7月
Pro micro付属のピンヘッダで、足を「延長」することを思いつく。 https://twitter.com/yhara/status/1550099183222542336
Zincを組み始めたので、いったん後回しに。https://twitter.com/yhara/status/1551145169407311873
8月
cocot46plusを組んでた。https://twitter.com/yhara/status/1563828745152081920
9月
そろそろ再開するかということで5pinのキースイッチを発注。
その間にImposter MacroPadを組んでた。https://www.instagram.com/p/Ci9IDkFrjpE/?hl=ja
10月
届いたキースイッチが微妙に違うことに気づく。CAP V2 Gold BrownのはずがGold Yellowが入っていたので(ややこしいよね)、Brownを送り直してもらうことに。
このへんで、いったんRP2040 + qmkという構成を試す。keyboards/ez_maker/directpins/rp2040というのがあるんだけどAdaFruit用なんだよね。SparkFunではどこを変えればいいのかなかなか分からなかったけど、仕様書とかを見つつ最終的にこうなった。https://gist.github.com/yhara/4e645a25b8821063bb0cf455ed283af8
で、目処が立ってきたので「どうせならLEDも付けたいな…」という欲が発生。秋月電子でSK6812MINI-Eを発注。
11月
LEDが届くが、案の定難航。Zincのときも失敗してるんだよなあ。Discordで質問した形跡がある。 https://discord.com/channels/376937950409392130/970671137623265321/1040832074216636576
- pro micro + qmk
- RP2040 + qmk
- RP2040 + PRK
の順で動かしてったんだったかな。
12月
ここまでまだ実はLED以外はんだ付けしてない。前述のようにコンスルーではないので、pro microを穴に半挿しして無理やり動作確認していた。
とはいえ最終的にはもちろん付けないといけないので、端のキースイッチから順に付けていった。難しいのがpro microと重なる位置のスイッチで、順番的にはキースイッチを先に付けないといけない。でもそうするとそのあとpro microをはんだ付けするときにちょっと邪魔なんだよね。ピンヘッダの足がけっこう長いし。
たぶんピンヘッダの足を少し切りそろえるのが正解だったと思うんだけど、今回はそれに気づかず付け始めてしまったので、細いコテ先を買うという力技で解決した。
今回使ったのはT18-BR02。先が曲がってるので、今回のような変なケースにぴったりだった。先が細いのでランドが温まるのがかなり遅かったけど、うまくいったのでヨシ。
ここまで来れば、あとはキーキャップを付けてキーマップを設定するだけ。あそうだ、ピンヘッダで延長している関係上、pro microがケースから少しはみ出しちゃうんだよね。これをどうしたかというと……、100均でかさ上げに使えそうなものを適当に見繕ったところ、ゲル素材の耐震マットがあったので、これをカッターで切って四隅に付けてみた。透明なのでKEEB_PDの写真でもあんまり目立ってない。「霞」の名の通り、すこし宙に浮いてるような雰囲気もあり、わりと気に入っている。
付録:keymap.rb
kbd = Keyboard.new
kbd.init_direct_pins(
# For SparkFun RP2040 ProMicro
# https://learn.sparkfun.com/tutorials/pro-micro-rp2040-hookup-guide
[2, 3, 4, 5, 6, 7, 8, 9,
29, 28, 27, 26, 22, 20, 23, 21]
# See this if you are using Adafruit Kb2040
# https://github.com/alg0002/PRK_Firmware_keymap_rb/blob/main/Kasumigasane/KB2040/keymap.rb
)
#kbd.add_layer :default, %i[
# KC_1 KC_2 KC_3 KC_4
# KC_5 KC_6 KC_7 KC_8
# KC_9 KC_0 KC_A KC_B
# KC_C KC_D KC_E KC_F
#]
kbd.add_layer :default, %i[
KC_M KC_2 KC_3 KC_4
KC_C KC_V KC_B KC_N
KC_O KC_P KC_Z KC_X
KC_T KC_Y KC_U KC_I
]
rgb = RGB.new(
1, # pin number
0, # size of underglow pixel
16, # size of backlight pixel
false # 32bit data will be sent to a pixel if true while 24bit if false
)
rgb.effect = :breath
rgb.speed = 31 # 1-31 / default: 22
rgb.hue = 10 # 0-100 / default: 0
rgb.saturation = 100 # 0-100 / default: 100
rgb.value = 10 # 1-31 / default: 13
kbd.append rgb
kbd.start!