はじめに
こんにちはStackdriverあらためGoogle Cloud Operations担当者です。最近、3年ほど前に一度自作キーボードを始めようと思って材料だけ集めたあと放置されていたパーツを回収したので、作っていなかったり作りかけのものを直したりしはじめています。その中に知人から安く譲ってもらったfoobarのPCBと上下プレートセットが2組でてきたので、とりあえず1組作ってみたのですが、検索しても細かなビルドガイドがなかったので自分の記録用に残しておきます。
ここ2ヶ月くらいでキーボード本当に作り過ぎなんですが、これは積みキーボードなので仕方がないですね...
- Gherkinを作った #Gherkin - YAMAGUCHI::weblog
- Helix 5行ステンレスプレートを作った #Helix祭り - YAMAGUCHI::weblog
- Claw44を使い始めた #claw44 - YAMAGUCHI::weblog
- Caravelle BLEを使い始めた - YAMAGUCHI::weblog
材料
公式サイトには何を揃えたらいいかなどは書いていないのでメモしておきます。
品名 | 個数 | 備考 |
---|---|---|
PCB & 上下プレート | 1セット | 知人から購入 |
ProMicro | 2個 | |
Cherry MX互換キースイッチ | 30個 | Kailh BOX黒を遊舎工房より購入 |
Cherry MX用キーキャップ | 30個 | DSAプロファイル |
スイッチングダイオード (1N4148) | 30個 | |
タクトスイッチ | 2個 | |
TRRSジャック | 2個 | 秋月電子通商で購入 |
TRRSケーブル | 1本 | なんでもよい |
microUSB-USB-Aケーブル | 1本 | なんでもよい |
M2x15mmスペーサー | 8個 | 西川電子部品で購入 |
M2x6mm ネジ | 16個 | 西川電子部品で購入 |
LEDテープ(オプション) WS2812B 60LED/m IP65 | 5個x2 | |
ビニール線(オプション) | 適当 | 秋月電子通商より購入 |
価格はまとめ買いしたり送料がかかったものは1個あたりの単価に戻してからこの表の個数で計算し直しています。たとえばネジは40個まとめ買いとかになるので払ったお金は実際もっと高いです。*1
TRRSジャックに関しては、マルツにドンピシャの商品があるのですが、入荷未定で過去に作られた方々のコメントなどを見ると、1ヶ月くらいかかることがあるらしいので、足の形だけ違うものを秋月電子通商から購入しました。
LEDとビニール線はアンダーグローをしない場合には必要ありません。
ビルドログ
写真はこちらからも確認できます。
材料の確認
これを作るのに並行してGherkinを作っていたのだけれども、特定のキーがショートしていたのを知り本当に反省したので、今回はかなり慎重めに作業を進めました。まずダイオードの導通確認から。
テスターでダイオード30本の導通を確認。問題なく導通していることが確認できた。片手でテスター反応させながら、もう片手で撮影するの難しい。foobarは左右共通の基板を片側を裏返して使うので、混乱しないようにマスキングテープで左右と裏表の印を書いておきます。
ファームウェアの書き込み
ProMicroのはんだ付け後すぐにテストができるようにあらかじめファームウェアを書き込んでおきます。公式は tmk_keyboard のほうを参照しています。しかし qmk_firmwareがそれも内包してビルドを便利にしてくれている上に、自作の他のキーボードでも利用しているので、foobarでもこちらを利用します。
とりあえずテスト用なのでデフォルトのキーマップをそのまま書き込みます。書き込みはDocker環境が設定済みのUbuntu 20.04で行いました。
$ cd /path/to/qmk_firmware $ ./util/docker_build.sh 40percentclub/foobar:default:avrdude
GNDとRSTをピンセットでショートさせてリセットさせ、無事に書き込み完了。
ダイオードのはんだ付け
他のキーボードと同じようにランドが四角い方にカソード側(黒い帯があるほう)を半田付けします。
リードベンダで曲げておいてから裏面から差し込みます。foobarの場合は裏表どっちにつけても大丈夫ですが、表面はキースイッチなので少しでも邪魔にならないように裏面に配置。はんだ付けまで裏面でやれば表面がきれいになってよかったんですが、家にツールクリップが無いため、楽をするために半田は表面側で行いました。
雑にこういう感じでマスキングテープでダイオードを固定してひっくり返してはんだ付けしました。左右両方ともはんだ付けが終わったら、ProMicroを載せる位置の各スルーホールと各キースイッチ間で導電確認をしておしまい。
TRRSジャックのはんだ付け
マルツで売っているSparkFun PRT-12639を使う場合にはまったく必要のない工程ですが、脚が折れていないTRRSジャックを使う場合には、ラジオペンチなどで折り曲げたあとに、基板のランドの位置に合うように少しだけニッパで先端を切っておきます。
左が切ったもの、右が切ってないものです。切りすぎるとはんだ付けが難しくなるので気をつけました。
TRRSジャックは表面実装になるため先に盛り半田をしておいてから、上からジャックを乗せて、ジャックの脚をコテ先で暖めながらジャック全体を上から押し込むとうまくいきました。
ピンヘッダのはんだ付け
次にProMicroを載せるピンヘッダをはんだ付けします。ピンヘッダを基板に挿しProMicroを載せた上でマスキングテープで基板に固定します。(ダイオードのとき同じ要領)裏返してピンヘッダをはんだ付けします。
タクトスイッチのはんだ付け
これも脚が折れていて長さが基板に合ったタクトスイッチを使う分には必要ない工程ですが、自分が買った安いタクトスイッチは穴にはめ込むように作られているものだったので、脚を伸ばしたり曲げたり切ったりして調整してからはんだ付けしました。
これも表面実装で地味に面倒でした。
キースイッチの取り付け
上下プレートがあったので、まずキーを上プレートにはめ込みます。意外と硬かったのでPCBを割らないように気をつけながら片側15個、両側で計30個をはめ込みます。
そのあと基板のキースイッチ用の穴にハマるように乗せてあげて、ズレがないか確認し、確認ができたらはんだ付けします。はんだ付けが終わった後はProMicroが載る位置のキー2つのピンをしっかり切り落とします。上からProMicroをかぶせてみて下からキースイッチのピンが当たっていないかを確認します。
ProMicroのはんだ付け
はんだ付けの最後としてProMicroをピンヘッダにつけます。
左右でProMicroの載せ方が表裏逆向きになっていることに注意してはんだ付けします。はんだ付けが終わったら、片側ずつPCに接続してみてそれぞれ片手だけで反応しているか確認をしたあと、両手をTRRSケーブルで繋いで全体としてキーボードとして機能しているか確認します。
下プレートのネジ止め
アンダーグローを実装しない場合はこれで必要な機能は実装されているので、下プレートをスペーサーを使って上プレートに取り付けします。M2のスペーサーとネジで固定。西川電子部品にはM2のスペーサーが10mmより長いものだと15mmしかなかったので妥協。12mmのものをAliExpressで買ったので届くのを待っています。
AliExpressからWS2812BのLEDテープがまだ届かないので、あとではんだ付けするということにして一旦ここで完成。
追記
LEDテープが届いたのでアンダーグロー化しました。
おわりに
Gherkinでの失敗があったので、今回は一つ一つゆっくり確認して作ったので、安心して制作できました。今後もゆっくり着実に作りたいものです。
参照
他にもビルドの報告は見かけましたが、本当に完成したことの報告だけだったりしたので、ここでは材料やビルドの際にこれらの写真や記録があったおかげで組み立てられた、というものを並べておきます。
- 40% Keyboards: foobar 1.0
- 下にあるTwitterの写真を見た後にもう一度よく見たらM2のスペーサーとネジを使っていることが確認できた
- 40% Keyboards: foobar 1.1 with plates
- とりあえず本家ということで参照
- 3枚目の写真で片手ずつそれぞれのProMicroの向きを確認した
- 4枚目の写真でLEDの配線を確認した
- Eiichiro Iwata on Twitter: "自作キーボード入門ということで、foo bar製作会に参加します… "
- このスレッドの写真のおかげでスペーサーの呼び径がM2であることを確認した