Corne Cherryというキーボードをビルドした
また新たにキーボードを作った
以前にIrisという分割キーボードを作ったのですが、いくつかの理由で使わなくなってしまいました。それで前に使っていたキーボードを使用していたのですが、チャタリングが異常に発生しストレスでしかなかったので、新たにCorne Cherryという分割キーボードを新たに作りました。
Irisを辞めた理由
- Iris特有の問題なのか私の固有の問題なのか、パソコンがスリープ状態に入った後に復帰させるとIrisが反応しなくなります。
- 手が小さいので、分割キーボードにすると強制的にホームポジションを意識しなけれならず、特に数字キーが遠く感じるようになってタイプミスが以前より増えてしまいました。
特に一つ目の理由が非常にストレスで、これを解決するにはスリープ前にケーブルを抜いておくか別のキーボードで復帰した後にハードのリセットを行わないといけません。
色々と試してみたのですが改善しませんでした。またネットで調べてみましたが同じような症状の人はおらず、またキーの設定などは普通に出来るのでハードに異常があるようには思えなかったです。ケーブルをつい抜くを忘れてしまい、リセットボタンを押してデータを入れ直すのは非常に面倒でした。。
Corne Cherryを選んだ理由
さて、今回のCorne CherryはIrisと同じように分割型のキーボードになりますがIrisから数字キーを取った形でさらにコンパクトになっています。わずか42キーしかありません。
Irisを使っていくうちに、出来ればホームポジションからはあまり指を離したくないなーと思ったのでこれにしました。レイヤーキーを多用していたので、数字キーを取っても特に困る事は無さそうでした。
ビルドログ
一から自前で用意していくのはしんどそうだったので、遊舎工房さんにあるCorne Cherryの一式セットを買って日本の友人に送ってもらいました。
あって良かったもの
- ピンセット(逆作用じゃなくても大丈夫でした)
- マスキングテープ
- フラックス
- イソプロピルアルコール(フラックスを拭く、基板の洗浄など)
- ハンダ吸い取り線
特に今回助かったのはフラックスです。LEDを付ける予定であれば必ず用意しておいた方が良いと思います。ハンダの付けやすさなどが全然違いました。基本的にハンダ付けする部分には全部塗っていました。
ダイオードの取り付け〜PCBソケットの取り付けまで
基本的には公式から出ているビルドガイドを何度も読みつつ進めました。LEDの実装はかなり難しそうであったので、まずはダイオードから挑戦しました。これもかなり小さくピンセットがないと非常にやりにくいと思います。ビルドガイドや今までに実装した人たちのビルドログでも書かれているように予備ハンダを付けてピンセットで押さえつつ付けるのがやりやすかったです。ハンダごての温度は320℃で付けました。
次に多くのビルドログではマイコンはPro Microを使っている人が多いですが、Micro USBで繋げる必要があり、さらにモゲやすい事で有名です。なのでPro Microの代替品であるElite-CというUSB-Cで繋げれるPro Micro互換のマイコンボードです(しかもカナダ産!)
これをコンスルーピンを使って基板に装着しています。刺す方向を間違えないように付けてあとはマイコンとピンをハンダ付けするだけです。取り替えを容易にするためにコンスルーピンなので、基板にはハンダ付けしません。これは簡単に出来ました。
TRRSジャックやOLED用のピンソケットはマスキングテープや粘着力の低いテープで固定した後ハンダ付けするとやりやすいというか、テープで固定していないとかなり付けるのは大変だと思います。
リセットスイッチは爪があって上手く引っかかってくれるのでテープで固定しなくてもハンダ付けは出来ました!
OLEDはピンソケットに刺した状態でハンダ付けしましたがこの後にトラブルが発生しました。
この時点で一度デフォルトのファームウェアを書き込みました。ビルドガイドにも書かれているようにピンセット等でキーの部分をショートさせるとOLEDに反応しているキーが表示されます。ですが片方のOLEDが反応しません。最初はピンソケットに正しく入ってないだけかなとか思っていましたが何にも変わりません。OLEDのピンのハンダを温め直したものの反応は無く、動いている片方を入れ替えてみると上手く動いたのでおそらく初期不良品だったのではないかと思います。
ただ返品期限などはとうに超えていたので今度また機会があったときにでも注文しようと思います。実際無くてもそんなに困る事はないんですが、実装中はデバッグ用にレイヤーの状態とかキーコードとか表示してくれるので便利です。
PCBソケットに関しては一番大きいので予備ハンダを付けてピンセットで位置を調整しつつハンダ付けをしました。これはダイオードが出来ていれば難なくクリアすると思います!
LEDの取り付け
LEDを付ける前に知りたかった事
- デフォルトのファームウェアはLEDは赤で光るように設定されている
- たまにファームウェアが正しく焼き込みされない事がある(ちゃんと完成してからも片方白でもう片方は赤みたいな事があった)
- 付かない時はLEDの順番を確認して、前のLEDがちゃんとハンダ付け出来ているか確認する
- 白色や別の色に点灯している場合もハンダ付けがミスっているので前のLEDもちゃんとチェックする
- コテ先はC型の方がやりやすそうに思えました
LEDは2種類あってアンダーグロー(机側を照らすLED)とバックライト(キーボード前面を照らすLED)があります。
特に難関なのがアンダーグロー側で、理由は非常に熱に弱い事とハンダを付ける所が非常に狭いです。ですが最初低温(240℃)ぐらいで試していたのですが中々持っているハンダが溶けてくれず最終的には320℃でやっていました。ただ、一気に四つとかでは無く一個づつゆっくりハンダ付けしていました。あとコテ先の形状的に一気にするのが難しかったです。
またビルドガイドでは予備ハンダをした方が楽と書いていましたが、私は予備ハンダだと逆にやりづらかったので、ピンセットで押さえつつ基板とLEDの間にハンダを擦り付けるみたいなやり方で付けていました。奇跡的に一つも壊れずに付けれましたが何度かキーボードを完全に組んだ後にLEDが付かなくなる事が発生してハンダの部分を温め直して直しました。
一方バックライト側は簡単でテストをしながら一個づつ実装したかったのですがLEDの順番がわからず1枚目はテスト無しで付けていましたが無事に全部点灯してくれました。こちらも320℃で一ヶ所づつハンダ付けをしました。また付ける前に予備ハンダを一つだけ付けて、ピンセットで抑えつつ位置を調整しながら残りの箇所をハンダ付けしていました。
ビルドガイドにはバックライトの順番みたいなのが見つけられなかったのですが、この写真のように下から回路が巡ってると思われます。なので一個ずつテストしたい方は下から付けていくと多分点灯します。アンダーグロー側が出来ていればおそらくバックライト側のハンダ付けは全部付けてからでも成功すると思います。(それぐらいアンダーグローは難しかったです。。)
QMKの設定
前回のIrisではQMK Configuratorを使ってGUIでキーの配置を設定していましたが、今回はQMKで直接キーマップを設定していきました。Irisよりキーの数が少ないので、あるキーを押しっぱなしとタップでキーの判定を変えたかったので直接変えていく事にしました。結果としてはLED周りの設定なども必要で直接コードを弄って正解だったなと思いました。
現在のキーマップはこんな感じです。
右手親指の一番左側はエンターキーと長押しでシフトの設定にしています。基本的にはこのキーでシフトは完了するんですが、たまに選択範囲のジャンプなどで左手側の小指にもシフトを置いています。この辺りは実際に使っていって改良していけるのが面白いポイントですね!
CrkbdのLEDの設定
ちょっとだけLEDの設定で詰まったので残しておきます。最初はQMKに入っているデフォルトの設定からコピーして改造していましたが、LEDが上手く付きませんでした。色々と調べたところ rules.mk
に RGBLIGHT_ENABLE = yes
を付け足す事と config.h
にいくつかのコードを足すのが必要でした。
#define RGBLED_NUM 54
#undef RGBLED_SPLIT
#define RGBLED_SPLIT { 27, 27 }
実際のコードの変更はこちらのコミットです。わかりづらければこちらを参照すればわかると思います。
キーマップ、その他設定などのソースコードはGitHubに上げています!参考になれば幸いです。 Crkbdキーマップ設定
実際に使用してみて
Irisとしか比べれないのですが、よりコンパクトになったので指の動きがかなり少なくなりました。今はまだ数字キーや記号などを全てレイヤーに移しているので、少し覚えるまでは時間がかかりそうですがかなり満足しています!
また今回からはさらにキーマップをカスタマイズしたかったのでqmkのファームウェアからカスタマイズに挑戦してみました。Configratorでは出来なかったレイヤーキーのタップで英数/かなの切り替えに対応しています。これがかなり良くて気に入っています
参考資料
Corne cherryを作った. Iris… | by nabetama | nabetama’s blog
Corne Cherryで自作キーボード初制作 | ottijp blog
Corne Cherry Build Log / LOG
この記事はCorne Cherryを使って書かれました。