ダイヤルのついた小型キーボード(マクロパッド)があったらある種のアプリケーションの操作に便利そうだな〜〜と日頃から思っていた(日頃からそういうアプリケーションを使っているというわけではない)。
遊舎工房で物色すると、ロータリーエンコーダーの載ったマクロパッド(のキット)はいくつかあった。
その中から、Casette42というやつを選んで買ってみた。ロータリーエンコーダーが2個あるのでお得感がある。
- Cassette42 | 25KEYS
- Cassette42 | 遊舎工房
- 購入したのは7月上旬だったが、記事執筆時点(8月上旬)に確認すると品切れとなっている。
自作キーボードを組み立てるのは初めてで不安はあるが、まあ小型で部品点数も少なそうだし、初組み立てでもなんとかなるだろう。
キットには基板やロータリーエンコーダーは付属するが、キースイッチやキーキャップ、それからPro Microは付属しない。キースイッチは個々人のこだわりがあるし、Pro Microはいろいろ(値段の安い)互換品や、標準のUSB microBではなくBluetooth接続やUSB Type-C接続のものなど、いろいろ派生品があるようだ(なので、いずれもキットに付属させるのは筋が悪い)。
Pro Microは、店頭で売られていたそれっぽいのを買った。基板が赤くないので多分互換品だと思う。
キースイッチは遊舎工房店頭のサンプルを触って、Kalih Box Whiteというやつを選んだ。筆者は自宅では青軸のキーボードを使っているが、マクロパッドに関してはもう少し押し心地が軽い方が良い(ただし、クリック感は欲しい)と思ったのでこれにした。
このキットにはオプションで有機ELモジュールを取り付けられる。もちろん購入した。
キットに付属しない「別途必要なもの」はだいたい遊舎工房で揃うが、ロータリーエンコーダーのつまみだけは個別販売されていないようだった(ロータリーエンコーダーとつまみのセットは販売されていた)。仕方がないので近くのマルツに行ってそれっぽいのを購入した。
組み立て
パソコンの自作ははんだ付けは不要、ケーブルやコネクターを繋ぐだけなのに対して、キーボードの自作はめっちゃはんだ付けが必要となる。
筆者がこのキットを組み立てる上での最初の難関は、表面実装のチップLEDだった。イマドキの電子工作では、表面実装できること(手はんだするスキルか、リフローの設備)が必須なのだろうか?
チップ部品の手はんだは、ランドの一箇所に予めはんだを載せ、それを溶かしつつ部品を載せるという感じでやるらしい。家にあったはんだごてでチップ部品の細かいはんだ付けをするにはこて先が大きすぎたので、先が細いこて先を新たに購入する必要があった。
後の方でファームウェアを書き込んだマイコンを取り付けて動作確認したところ、LEDのうち1つは点灯しなかった。予備のLEDに交換すれば良いのかもしれないが、見た目以上の機能はなさそうだし面倒なのでこのままにしておく。
ファームウェアの書き込み
Pro Microは、Arduino IDEで適当に空のスケッチを書き込んでみたらシリアルポートとして認識されなくなってしまった。めっちゃ焦ったが、リセットスイッチを2回押せば8秒間だけbootloader modeに入るらしい。はんだづけする前だったので基板の端子をワニ口クリップで短絡させてリセットした。
https://www.sparkfun.com/products/12640 > https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/32U4Note.pdf
ファームウェアはいずれカスタマイズするとして、まずは設計者の用意した「純正」ファームウェアを書き込みたい。コンパイル済みの .hex が提供されている。
最近はArduino IDEしか触っておらず、筆者の現在の環境にはAVR用のコマンドラインツールが入っていなかった。Arduino IDEではもちろんプログラムをコンパイルして書き込めるわけだが、コンパイル済みの .hex を書き込む方法があるのかは分からなかった。ひとまず、avrdudeを入れて次のように実行すればうまく行った:
$ avrdude -v -p m32u4 -D -Uflash:w:cassette42_default.hex:i -c avr109 -P <シリアルポート>
シリアルポートの部分は、Macなら /dev/tty.*** Windowsの場合はCOM6みたいなやつを指定する。
動作確認
はんだ付けを終え、ファームウェアを書き込み、キーキャップも取り付け、いよいよ動作確認である。
設計者によるファームウェアでは、ロータリーエンコーダーはそれぞれボリュームと矢印キー上下として動作し、キースイッチは曲のコントロールとして動作する。キースイッチを長押しすると、ロータリーエンコーダーでLEDの光り方を変えられる。
自作キーボード、というか自作HIDデバイスは自分で設計できると面白そうだ。