おかゆ++

IT業界の片隅で生き残るブログ

自作キーボードを作ります(まとめ)

f:id:okayu-moka:20180529205522j:plain

自作キーボード制作の記事のまとめです。

公開済み完成品

完成したものはGitHubにすべて公開しています。 お世辞にもすごい自作キーボードというわけではありませんが、 今後自作キーボードに挑戦する人に少しでも役立ててもらえればと思います。

github.com

1号機

最初に作成した1号機は5x6の格子配列でした。

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

2号機

現在の最新版である2号機です。実際に仕事でもプライベートでも使用しています。

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

自作キーボードを作ります2-3  2号機が完成しました

完成した2号機

前記事までで考えていた2号機が完成しました。

okayu-moka.hatenablog.com

こんな感じです。

f:id:okayu-moka:20180529204950j:plain

f:id:okayu-moka:20180529204957j:plain
自作4x6+1格子配列分割キーボード!

しばらく使っていますが今の所不満もなく、ひとまずは完成形の一つとしたいと思っています。 格子配列以外にもいろいろと挑戦していきたいので、まだまだEnd Gameではないです!

自作キーボードを作ってみての感想

自作キーボードを通じて、3DプリンターとかArduinoとかに挑戦できたのは良かったですね。 普段はソフトウェア畑の人間なのですが、実際に動く"モノ"が完成するのはソフトウェアとはまた違った嬉しさがあります。

なにより、完成したキーボード自体が使いやすいし、自作ってことで愛着も湧くし、肩こりなんかも解消されて嬉しい限りです。

今回はファームウェアからすべて自作しましたが、 キットを買って組み立てたり、QMK Firmwareを使ってみたりとかにも挑戦したいです。

完成品の写真とか

完成品の写真をペタペタ貼っておきます。

f:id:okayu-moka:20180529205150j:plain
ホームポジションとRaise/Lowerキーには100均で買ったネイルシールを貼っています。

f:id:okayu-moka:20180529205200j:plain
裏側には滑り止めのシールを貼ってみました。

f:id:okayu-moka:20180529211749j:plain
micro USB。ちょっとずれてるような気がするけど気にしない……

f:id:okayu-moka:20180529211850j:plain
3.5mm ステレオミニジャック。結構ぴったり。

f:id:okayu-moka:20180529205500j:plainf:id:okayu-moka:20180529205522j:plain
前よりはマシなものの相変わらずの配線。

自作キーボードを作ります2-2  2号機の設計

レイアウト

前回は5x6の配列でしたが、一番上の数字キーの列は不要かなぁと感じたので、 4x6配列をベースに親指用に1キー増やし、4x6+1の配列を採用しました。

親指用キー、つまり7列目のキーは最下段のみなので、その上部分にスペースができます。 この部分にProMicroを配置すれば、配線スペースを確保しつつ薄型化もできそうです。

ということで、完成したレイアウトがこちら。

f:id:okayu-moka:20180528213549p:plain

Thingiverseにもアップしています。

www.thingiverse.com

前回のものと比べると2mm〜3mmくらい薄くなったので、十分かなぁと思います。 あと1mmくらいは薄くできそうなので、使ってみて不満が出ればその時考えます。

配線

配線もとりあえず考えてみます。 相変わらず「自分が分かればいい図」なのであっているのかどうかは知りません!

f:id:okayu-moka:20180528213939p:plain

その他に気にしておくこと

その他、細かいところだと

  • せっかくなのでカラフルな色合いで作る。青系とピンク系が候補。
  • スイッチが取れやすいのでもういっそのこと接着剤でくっつけてしまう。
  • 3Dプリンターでの印刷精度を少し上げる。最適な設定を割り出す。

このあたりを気にして作っていきます。

自作キーボードを作ります2-1  1号機の不満点

1号機を1ヶ月程度使い込みました

自作キーボードに入門して最初に作成した5x6分割キーボードを、1ヶ月ほど使い込みました。

okayu-moka.hatenablog.com

f:id:okayu-moka:20180331173017j:plain

動作的には特に問題なく、とりあえず意図通りに動いたのでOK。

動作以外では、最初は格子配列に多少苦労しました。 でも使っているうちに慣れました。 今ではもう、なぜ普通のキーボードがあんなふうにズレてるのか理解できないですね。

ということで、概ね満足のいくものに仕上がってはいたのですが、 使い込んでいるうちに気になってきた不満点がいくつかあります。

不満点1:筐体の高さ(キーボードの厚さ)

当初から空中配線予定で、配線がグチャッとなると想像できていたので、 ケーブル用のスペースに余裕をもたせた筐体にしていました。 おかげで配線時には困らなかったのですが、 キーボード自体が分厚くなり、リストレストがないと手首が痛いという状態になってしまいました。

できればもっと薄型にして、手首への負担を減らしたいです。

不満点2:親指が活用できていない

ErgoDoxなどの他の自作キーボードでは、親指を活用するための配列が多いですが、 あれは理にかなってるなぁと感じました。

やはり力も強く、スペース以外に仕事のない親指にはもう少し仕事をさせるべきだと思いました。 ただ、今回のキーボードではレイヤーキー(Raise/Lower)も担当しているので、 あまり増やしすぎると誤打が多発しそうです。 増やすとしてもキー1つくらいかなぁと思います。

不満点3:筐体とキートップの色

「とりあえず筐体は白にしておけば、どんなキーキャップつけてもそれなりに見えるだろう」と思って白で作ったのですが、 いざ黒のキーキャップをつけると、コレジャナイ感が……

こればっかりは完成するまで判断が難しいところではありますが、次回は色使いにも気を使いたいですね。

不満点4:キーレイアウトを変更しづらい

キーレイアウトはソースコードを直接いじって変更していましたが、非常に面倒くさい……

なにか簡単なツールを作って、GUIでレイアウトできるようにしたいですね。

2号機を作っていきます

次回以降、以上の不満点を改善した2号機を作っていこうと思います!

自作キーボードを作ります④ 配線と動作確認、1号機完成

ここまでの作業でやっと部品がすべてそろったので、組み立てます!

スイッチはめ込み

Cherry MX互換のスイッチは、縦横14mmの穴にはまるようになっています。

今回も一応14mmの正方形の穴をあけましたが、3Dプリンターの品質上、そこまでの精度が出てません。 基本的には14mmよりも狭い状態になっていたので、スイッチが入る程度までヤスリで削りました。

とりあえず片手分のキースイッチをすべてはめ込んだ状態になりました。

配線

前に考えた回路図通りに配線します。

okayu-moka.hatenablog.com

ひたすらはんだ付けします。結構大変です。 今回の場合キーが60個あり、ひとつのキーにつき2か所のはんだ付けが必要で、ProMicroへのはんだ付けなども必要なので、 140か所以上のはんだ付けが必要でした。電子工作初心者にはキツかったです。

そんなこんなで、とても汚いですが許してほしいです。

あまりにもはんだ付けが適当だと、チャタリングの原因になったりするらしいので、もうちょっと頑張ったほうがよさそうです。

キーキャップ付ける

買っておいたDSAプロファイルのキーキャップを付ければ、完成です!

使っているときに、やっぱりホームポジションがわかりにくかったので、100均でネイルアート用のシールを買ってきて貼ってみました。 剥がれやすいですが、100円なのでその時は貼り直せばいいかなぁと思っています。

使用感など

ちょっと使ってみた使用感。

  • 一番上の列はなくてもいいかもしれない。
  • 親指にもう一つキーがあってもいい。
  • ちょっと背が高い。もう少し薄型にしたい。
  • 色がちょっとダサい……?
  • 茶軸はそれなりに音がする。気にはならないレベルではある。

ひとまずは使えるものができたので、1号機については完成とします。 次は、上記の使用感を改善した2号機を作っていくつもりです!

自作キーボードを作ります③ 筐体のモデリングと印刷

キーボード本体の筐体を3Dモデリングして、最終的には3Dプリンターで印刷しようと思います。

使用ソフト

3Dモデルを作るソフトとしては、大別して

の2種類のソフトがあるみたいです。

3Dモデリングソフトのほうが、人間や風景などの3Dモデルを作成するためのソフトウェア。 3D CADソフトのほうが、3Dによる設計等を行うソフトウェア。らしい。

どちらでも3Dプリンターで取り扱われるSTLファイルを出力できるし、慣れたものがあればそれを使えばいいみたいです。

私は3D自体が始めてだったので、目的にあっていそうな3D CAD系のソフトを探して、最終的には fusion 360 を使うことにしました。

基本的な使い方は、以下のPDFと本でさらっと勉強しました。 チュートリアルの方はどうも公式資料っぽいのでまず最初に目を通すのがおすすめです。

Fusion 360 チュートリアル(https://www.myautodesk.jp/JEFF/Fusion360_ATC_201603.pdf)

Fusion 360 モデリング・マスター

Fusion 360 モデリング・マスター

最初こそ苦労しましたが、なんとなく使っているうちに、結構自由に使えるようになりました。 他の 3D CAD と比較はできませんが、とても使いやすいのではないかと思います。おすすめです。

出来上がったモデル

こんな感じになりました。Thingiverseにもアップしてみました。

f:id:okayu-moka:20180408143808p:plain https://www.thingiverse.com/thing:2853850

印刷!

3Dプリンターを持っている人は自分で印刷することもできますが、 そうでない人は DMM.make などのサービスに発注すれば、大体2周間くらいでモノが届きます。すごい時代ですね。

3Dプリンターサービス - DMM.make 3Dプリント

私は先日買った HICTOP 3dp-08bk RepRap Prusa i3 で印刷しました。

okayu-moka.hatenablog.com

印刷した結果がこれです。DMM.makeなどに頼むより精度はガクッと落ちますが、 なんとか使えるレベルで印刷できています。

あとはこれにスイッチを付けて配線していくだけです!

3Dプリンターの防音・保温ボックスを作りました(RepRap Prusa i3)

3Dプリンターを買いましたが、 今回勝ったものはRepRap Prusa i3というもので、 機械部分がすべてむき出しで丸見えの状態となっています。

okayu-moka.hatenablog.com

むき出しということで、ちょっと気になる点・問題となる点があります。

  • 印刷時、ちょっと音がうるさい
  • ABSを印刷するとき、外気が冷たいと大きく収縮して反る

これらを改善するために、とりあえず何かのハコに入れればいいと思ったので、 木材で防音ボックスを作りました。

ホームセンターで合板を購入・カットまでしてもらいました。 その後、自宅でサンドペーパーをかけます。

f:id:okayu-moka:20180217145252j:plain

本当はニス塗ったりしたほうがいいんでしょうが、面倒くさいのでこのまま使いました。

木工用ボンドと木ねじで箱の形に組み立てて、完成。

f:id:okayu-moka:20180217211844j:plain

前面は開け閉めできるように、↓のようなドアキャッチで止めるようにしています。

中を開けるとこんな感じ。どうしても暗くて作業しづらいので、100均でLEDライトを買ってきて吊るしています。このライト、100均ライトの中ではダントツに明るくておすすめです。

f:id:okayu-moka:20180223000059j:plain

材料は全部合わせて4000円くらい、時間は2時間くらいかかったと思いますが、なかなかいい感じじゃないでしょうか。

使ってみた感じ、全面を閉めると音はだいぶ抑えられます。また、ある程度の保温効果もあり、たぶんABSの印刷もやりやすくなったと思います。 ただちょっと大きくしすぎた感がありますね……かなりスペースを取っていますが、まぁしょうがない……