原価厨がキーボードを自作した話

この記事は自作キーボード #3 Advent Calendar 2018の13日目の記事です。

100mm×100mm未満の基板を設計し, 組み立てた話です。

動機

MagicForce smart 49keyへの不満

上海問屋 DN-914809 英語49キー ポケットサイズメカニカルキーボード(中華青軸) |パソコン通販のドスパラ【公式】

ホームポジションから手を動かさなくていいという売り文句に惹かれてMagicForce smart 49keyを使っていましたが, キー配列を変更できず, Fn+Shiftの同時押しが面倒であるなどの不満がありました。

280gのスイッチを試すため

ゆかりさんの投稿を見た友人が280gスイッチに興味を持ったため, 試し打ちできるようにキーボードを作ることにしました。基板サイズが100mm×100mm以内のキーボードとしてはFoobarが有名ですが, ALPS軸に対応していないため自分で設計することになりました。

基板製造が安い

100mm×100mm以内であれば10枚まで$5で製造してもらえます。なんと1枚あたり$1未満です!! 安い!!

また, 当時はFusionPCBで$1で100mm×100mm以内の基板を3枚製造してもらえるキャンペーンをしていたため, ついでに一体型のキーボードの基板も発注しました。

設計

foostanさんの本を読んでください

booth.pm

PCB

本を読んでください。

PCB素材のプレート

PCBと同様にカットアウトやネジのフットプリントを配置します。FusionPCBとALLPCBを利用しましたが, Edge.Cutsに矩形の線を引いておけばそのとおりに穴を開けてくれました。ただし, 向こうでドリルファイルを作るからなのか他の基板より製造に時間がかかります。

アクリルプレート

Kicadから出力したdxfファイルは線が二重になっていたり曲線が(多数の)直線に分割されていたりして修正するのが面倒だったので, DraftSightで新たに線を引きました。

Tip: 四角形をグリッドの中央に配置する

19.05mm間隔のグリッドに14mmのカットアウトを配置する際, グリッドの中央に配置するために工夫が必要です。

(あとで書く)

Tip: 四角形の大きさ

スワップソケット対応のものにはぴったりとはまるトッププレートが必要なためサンプルを作って試したところ, 僕が使ったレーザー加工機では13.4mm角がキツキツでした。そのサイズでカットしたところ, 一部の穴にスイッチがはまらず, 力を掛けすぎてプレートを割ってしまいました。スワップソケットを使う場合はスイッチの爪が噛み合う厚さの素材で作ることをおすすめします。

発注・出費

業者名 内容 価格(送料を含む)[円] 備考
KBDfans キーキャップ, キースイッチ 5668
Aliexpress FatProMicro×1 490
KPrepublic キーキャップ, キースイッチ 10417
Aliexpress ProMicro×6 2418 予備を含む
秋月 電子部品 2355 キーボード用でない物も含む
ヒロスギ ネジ, スペーサー 2290
Aliexpress FatProMicro×6 2251 予備
FusionPCB 基板 3097
遊舎工房 スワップソケット 1134
ALLPCB トッププレート 3014 5枚
ホームセンター ゴム足, アクリル板 1054
100均 ケーブル, はんだ 540
創房 アクリルカット 177 9分
合計 34728

キーキャップ・キースイッチ込みで1台あたり1万円ちょっとで作れました。

組み立て

別の記事にします

完成

hogefuga w/ APC緑軸

f:id:y_sanagi:20181213001805j:plain
hogefugaキーボード

4x4_hotswap

f:id:y_sanagi:20181213001821j:plain
4x4_hotswap

3台目(hogefuga w/ Matias Quiet Click)は組立中です。

反省

  • hogefugaのボトムプレートの基板の片面にだけ銅箔を貼ったところ, 基板が反ってしまった
  • TRRSジャックにPJ-320のフットプリントを使ったところ, 秋月で買ったMJ-4PP-9はプラスチック製のピンが大きく, 実装時に浮いてしまった

まとめ

アルミ製ケースを含めて$150のPlanckは安いとわかりました

使用したライブラリ

GitHub - foostan/kbd: Publish data for Keyboard

GitHub - keebio/Keebio-Parts.pretty: Various KiCAD footprints for mechanical keyboard parts

GitHub - tmk/keyboard_parts.pretty: KiCad modules for keyboard design

成果物

基板

GitHub - yswallow/4x4_hotswap

GitHub - yswallow/hogefuga-kbd

QMKファームウェア

GitHub - yswallow/4x4_hotswap_firmware

GitHub - yswallow/hogefuga_firmware

この記事は 4x4_hotswap(kailh speed copper/eucalyn改配列)で書きました。