猫が吠える

我輩は猫である。名前はみずき。

電子工作初心者が自作キーボードを作った - Corne Cherryビルドログ篇

自作キーボードを作りたい

 4月から息子が保育園に入園し、 本格的に仕事に復帰しました。完全在宅勤務の自営業なので、自宅に仕事部屋を設けて仕事しています。改めて作業環境を見直していたら、肩凝り軽減のために左右分割キーボードが欲しくなってきました。

 そういう話をしていたら、私が息子の入園準備をしているあいだに夫があれこれ調べて買い物をしてさっさと自分のキーボードを作り始めてしまったので腹が立ちましたが、おかげで夫が揃えた道具を使わせてもらえたし、どうにもわからないときにアドバイスももらえたので、よしとしましょう。

 私もようやく入園準備が落ちついたので、まずはキースイッチのテスターを手に入れて、キースイッチを選ぶところから始めました。

スイッチとキットを選ぶ

 さっと秋葉原とかに行って実物を見られる環境なら良かったのだけど、ここは北海道の片田舎、そんな環境はありません。通販でテスターを探します。当時国内の通販サイトにはいろんなスイッチを試せるテスターの扱いがなかったので、中国の通販サイト、Banggoodで注文しました(注文した直後に遊舎工房で取り扱いが開始していました)。道具の調達については、記事を分けて書こうと思います。

  注文していたCherry MX 9種類とKailh 9種類のテスターは無事に到着。
f:id:n0mzk:20190506204938j:image

 カチカチ試す。娘も遊ぶ。
f:id:n0mzk:20190506204943j:image

 試してみて、

* KailhのHeavy Pale Blue軸(押下60g、クリッキー)

* KailhのBOX White軸(押下50g、クリッキー)(小指のみ)

を使うことに決めた。これまでREALFORCEを使っていたのでだいぶ重くなるし、クリッキーは初めてだけど、押している手応えがあったほうがいいでしょう、カチカチ鳴ったら気持ち良いでしょう、と思って。

 小指を白軸にしようと思ってたのに、小指列が左右各2列あることを忘れて10個しか頼まなかったので、いちばん外の列のみ白軸になっている。小指で打つキー全部白軸にしようと思ったら、本当は縦3つが左右計4列で12個必要だった。

 スイッチが決まったので次はキットを決める。キー数の少ないものがよかった。いつもキーボードの上で指が迷子になっているから。で、Corne Cherryにした。最後はErgoDash miniと迷って、キー数の少なさで決めた。

組み立て

 しかし電子工作なんてさっぱりわからない。はんだづけは、大学の授業で一度だけやったことがあるような気がする、という程度の初心者。電子工作は昔ニコ動を見てなんかやりたくなってパーツを買って手をつけたことはあるけど、作ろうと思ったものは完成してない。電気回路について理解したこともない、雰囲気でプログラマをやってる元文系(ただし文系科目もできない)。やりたいことならできるはずという気持だけで挑戦する。

作業開始

 遊舎工房から届いた荷物を開封
f:id:n0mzk:20190428183513j:image

 パーツを並べる。

 パーツ名を言われてもわからないので、パーツリストに書いてあるパーツ名で画像検索して何が何か理解する。

* 上段:SK6812MINI 60個, ダイオード(チップタイプ)50個, OLEDモジュール(ピンソケット付き)2個, ProMicro保護プレート 2枚, トッププレート 2枚
* 中段:ボトムプレート 2枚
* 下段:MX互換スイッチ用PCBソケット 50個, クッションゴム 8個, (TRRSジャック 2個, タクトスイッチ 2個, スペーサー M2 6.5mm 10本, スペーサー M2 8mm 4本, ネジ M2 4mm 28本), (ProMicro + コンスルーピン2本)* 2セット, PCB 2枚
f:id:n0mzk:20190428183519j:image

 ビルドガイドに沿ってやっていく。

github.com

ダイオード

 アドバイスの通りダイオードを並べる。小ささにびっくり。

f:id:n0mzk:20190428183608j:image

 片側のパッドにはんだを盛る。ほとんど初めてのはんだづけ作業。

f:id:n0mzk:20190428185251j:image

 コツは、

1. 温めたはんだごてのこて先にはんだをコーティングしておく

2. パッドにはんだごてを当ててパッド自体を温める

3. パッドではなくはんだごてにはんだを当てて流し込む

 だそう。私ははんだづけ最終盤になってから知りました……。事前にはんだづけ動画とかを見ておけばよかった。

 ピンセットでダイオードを押さえ付けながら盛ったはんだにはんだごてを当て、溶かしながらくっつける。それが終わったら反対側の足とパッドもはんだづけする。
f:id:n0mzk:20190428183515j:image

 ダイオードが小さくて恐る恐るやったけど、思ったよりは失敗せずに付けられていたようだ。向きが間違っていると動かないので、最初に向きを揃えて置いておいたのが良かった。

音声ケーブルジャック、リセットスイッチ、OLEDモジュール

 ダイオードの細かい作業の後だからこれはラク。だけど、OLED付けるためのピンソケット、一度はんだづけしたけど斜めになってしまっていたので吸い取り線ではんだを吸い取って付け直そうとしたら、うまく吸い取れていないのに引っ張って足を折ってしまった。ジャンパさせるのも、表だけジャンパさせるって書いてあるのをちゃんと読んだのに裏表をよく見ないで裏をジャンパさせてしまって、吸い取ってやり直した。

 ProMicroの口はすぐもげるらしく、夫が余分に買っていたスイッチサイエンスのもげないProMicroをもらった。キットに入っていたものの代わりにこれを使う。完成後もファームウェアの書き込みで何度もケーブル抜き差ししているので、こちらにしておいて良かった。

f:id:n0mzk:20190428183736j:image

 キットにコンスルーピンが入っていたのでそれを使う。ProMicroをPCBにはんだづけせず、コンスルーピンをProMicroにはんだづけして、PCBにはめられる(取り外しできる)ようになる。
f:id:n0mzk:20190428183730j:image

 ProMicroをつけたらビルドガイドに沿っていったん動作確認。問題なし。

キースイッチを差すためのソケット

 今回は両側のパッドにはんだを盛り、片方ずるはんだごてを当ててはんだを溶かしながら指でソケットを押し付ける。主婦は火傷が怖くないので(個人の感覚です)私は指でおさえてやった。ちょっと熱かった。
f:id:n0mzk:20190428185243j:image

 反対側も同様にソケットを抑えながらはんだを溶かしてくっつけて完了。f:id:n0mzk:20190428183741j:image

LED

 LEDです。ここまでの勢いのままちゃっとやろうと思ったらめちゃくちゃ難しかったので覚悟が必要。ビールでも飲んで一息ついてからやりましょう。

 LEDも小さい。熱を当てすぎるとすぐ死ぬらしい。しかもcrkbdのLEDはunderglowがあるから難易度が高めらしい。初心者にはオススメしないという記述をどこかで見た。でもせっかくの自作キーボード、光らないと楽しさ半減。頑張る。

 crkbdのLEDの実装、トラブルシューティングについては、こちらのブログに詳しく書いてくれています。私は悪戦苦闘してなんとか完成した後に見つけました。最初からググって見つけていれば……。

marksard.github.io

f:id:n0mzk:20190428183733j:image

 以下、私の悪戦苦闘ログです。

 なんとか全部つけた状態が以下の写真。電気を流してもなにひとつ点灯しない。え!?と思ってツイッターで騒いで助けを乞うて何人かからアドバイスをもらったが、結局はんだづけが下手クソだっただけ。

f:id:n0mzk:20190428183851j:image

 調整してようやく1個点灯。
f:id:n0mzk:20190428183857j:image

 1~6番目のLEDがunderglow用なので、LEDのパッドと基盤のパッドのあいだにはんだを流し込まないといけなくてとても難しい。番号順に回路がつながっているから下向きの1~6が正しくつながらないと、上向きのLEDがつながっているかどうかも確認できない(ProMicroから上向きLEDのパッドまでをジャンパしてしまえばできる)。パッド同士がつながっていそうかどうかを目視確認しながら、ダメそうなはんだを吸い取り、つけ直す、それでも改善しなかったらLEDを交換する。頑張って3つ目までついた。f:id:n0mzk:20190428183905j:image

 underglow全部点いた!f:id:n0mzk:20190428183854j:image

 しかし時々色がおかしくなる。接触が不安定なよう。
f:id:n0mzk:20190428183909j:image

 はんだを調整して片手全部正しく光った!!
f:id:n0mzk:20190428183901j:image このときの達成感ったら!

 そしてもう片手。こちらも一つも光らない……。
f:id:n0mzk:20190428185247j:image
 少しずつ進む。f:id:n0mzk:20190428183916j:image

 点いた!2枚目は多少コツがわかってきた。とは言っても↑の写真で光ってない、6番目のunderglowにはだいぶ苦労したけれど。でも結局これもはんだ不良だった。
f:id:n0mzk:20190428183913j:image

 しかしプレートをつけてみるとまた色がおかしくなっている……。
f:id:n0mzk:20190428183919j:image

 1箇所死んでる。
f:id:n0mzk:20190428183923j:image

 直した。ここもはんだ不良で接触が不安定だった。

f:id:n0mzk:20190508161811j:image

 ちなみに、スペーサやネジを付ける前にキーキャップをはめてしまうと、キーキャップのあいだに隙間がなくてネジが入らないので、キーキャップを付けるのははんだづけがすべて完成してプレートのネジを締めてからにしましょう。私はさっさとキーキャップをはめてしまったので、外して付け直しました。

 注文したキーキャップはまだ届かないので、家に余っていた夫のキーキャップを借りています。

 一般的なキーボードとはキーの並びが違うことでホームポジションがわからなくなるので、余ったダイオードをマスキングテープでFとJのキーにつけました。これでひとまず完成か!?f:id:n0mzk:20190508161817j:image

入力

 長かったLEDとの闘いにようやく勝利して完成と思ったのも束の間、今度は入力ができない。

 いくつかはダイオードのはんだの付け直しで直ったが、左手真ん中行(Aの行)が入力できない。テスターを使ってみるとダイオードはちゃんと付いている。基板を壊したかと思って回路図と睨めっこしながら導通の確認をするも、やはり壊れていなさそう。ProMicroのはんだも問題なく付いていて導通がある。あちこちジャンパ線でつないでテスターを当てて確認するが、どこに問題があるかわからない。
f:id:n0mzk:20190508161820j:image

 ひとつ見落していたのは、ProMicroを差すスルーホールでした。写真ではわからないけど、よく見てみるとrow1につながる穴の内側が黒くなっている(焦げている?)。コンスルーピンを使ったからここはピンを差す以外はなにもいじっていないはずなのに。
f:id:n0mzk:20190508161807j:image

 せっかくのコンスルーピンだけど、row1だけはんだづけすることで解決。

 無事すべてのキーが光り、入力できるようになりました!

 ここまで、子どもたちが寝た後の数時間ずつを使って6日間かかりました。

* いったん組み上げるのに1日

* LEDとの闘いに2日

* キーが反応しないことのトラブルシューティングに3日

よく頑張りました。

 注文していたキーキャップ(の一部)が届いたのではめた。一部届かなくて足りないところはスイッチテスターについていたものと、夫の余り。
f:id:n0mzk:20190508161814j:image

 ちゃんと光っている!嬉しい!

f:id:n0mzk:20190508162027j:image

 ホームポジションダイオードを貼り付けるのはすぐ取れてしまうので、セメダイン ハイスーパー5を盛った。だいぶ入力しやすくなって良い感じ。
f:id:n0mzk:20190508162024j:image

 数字がどこにあるかとかもちょっとわかりづらいのでセメダインで目印をいくつか付けようかと思う。

 OLEDのピンソケットがまだ届いていないから左手のOLED付けていないけど、かわいくて、いくらでもカスタマイズできるキーボードができて、だいぶ満足です(でもやっぱりここがもっとこうだったら、というところはあって、こうしてみんな基板から自作するようになっていくのね、と実感しています)。

 キーマップについては考えて考えて書き換えて、だいぶ好みのものになってきたけどまだフィックスしないので、落ち着いたらまた別の記事に書きます。個人的に、日本語入力をSKKでやっているのでShiftを親指に持ってきて小指の負担を減らすことが大きな目的のひとつで、それが実現されて、まだ慣れてはいないけど、すごくいい感じだなと思っています。

 この記事はcorne cherryで書きました!こんな長い文章を、たどたどしくも書けてすごい達成感!!!

 初心者がなにもわからないまま組み立ててそれをそのまま書いた記事なので、間違いがあったらご指摘ください。