前回の投稿でテンキーのキットを作ったということを書きましたが、それ以降わたしの自作キーボード熱はさめず。今度は基板の設計からキーボードを作ることにしました。
基板設計からキーボードが作りたい!
自作キーボードを作りたい!となったら、遊舎工房さんなどでキットを購入して作るのが手っ取り早いのですけど、なぜ自分で基板から設計をしたか。
もうただ単純に、「せっかく作るんだったら基板から作ってみよう!」という興味からですね。
あと、わたし自身、会社ではハードの設計部隊に属しているので基板を作ったりもしているのですけどね。回路設計はしても基板パターンのレイアウトなどは専門業者さんに頼んでしまうので自分ですることもなくて。この機会だから自分の勉強もかねてやってみようかと思ったのが、サブの動機ですね。
参考書片手に基板設計
基板からの設計からするにしても回路動作がわからないと設計できません。
ネットで情報を集めるにしても断片的になってしまってなかなか自分のなかで整理しきれなかったのですけど、素敵なことにcorne chocolateなどのcorneシリーズのキーボードを設計していらっしゃる@foostanさんが指南書「自作キーボード設計入門」を出していらっしゃるのでそれを参考に設計をしていきます。
まずは回路図設計、KiCADというオープンソースのCADツール上で。キースイッチをマトリックス上に配置してダイオードで各行と列を接続、それぞれの行列をマイコンに接続です。今回は左右分離型のキーボードを作りたかったので、左右を接続するためのジャックも配置して。
回路図ができたら次は基板レイアウトの設計です。回路情報をレイアウトエディタに読み込ませて、まずは部品の配置レイアウトです。配線のしやすさや組み付けのしやすさを考えながら部品配置して、その後に配線をしていきます。
レイアウトができたらドキドキの出図なのです。
初めての基板製作
はじめての基板製作、国内でも個人の基板製作を対応してくれる業者はありますが、個人で使うには品質も価格も高め。自作キーボード界隈でよく名前があがってくるelecrowに注文しました。
はじめての基板製作、はじめての海外サイトの注文、はじめての海外決済とはじめてずくしでしたがドキドキしながら注文して、土日を含めて10日ぐらいで基板が到着しましたよ。
自分で設計した基板を見るとあがりますね!
組み付けと実機デバッグ
さて、お楽しみの半田付けです。事前に遊舎工房さんから購入しておいた部品を組み付けていきます。
今回はキースイッチ用のソケットを実装しています。後々、使っているうちに違うキースイッチを試したくなったときとか、スイッチの調子が悪くなったときとか用に、簡単に交換できるようにです。このあたりの、自分が使いたいように仕様を設定できるのって自作の強みですよね。
そんな楽しい半田付けなんですけど、ここで問題発生! フルカラーLEDがつきません!どうやらフルカラーLED用のパターンを反転してしまっていたらしく。このままではあきらめがつかず銅箔テープを駆使して実装しました。次、修正するときは忘れずになおしておこっ。
組み付けができたら実機デバッグですね。今回のキーボードはオリジナルということで、前回のテンキーのようにWeb上でファームウエアを簡単には作ることができません、自分でソースコードからコンパイルして作るのです。
そのためにはファームウエアのフレームワークであるQMKをgithubから持ってきて、既存のキーボード用のソースコードをコピーして、修正して。自分のオリジナルのものを作ります。
キーボードのマイコンにファームウエアを書き込んで動作確認。一発目で入力できた!!
あれ、フルカラーLEDがつかない。こちらはコーディングミスでした。
こんな感じで動作確認できたのでプレートの発注をします。KiCADの基板データから外形データだけを出力して、Inkscapeというオープンソースのエディタでプレートのデザインをしまして、遊舎工房さんに発注です。
初めての完全自作キーボード完成!
プレートができあがってきました。組み付けて完成です。
左側のキーボードからUSBケーブルを接続に設計していたのですけど、ここも設計をミスったようで、スペーサーに干渉してしまって接続できませんでした。反対側なら接続できるのでO.K.でしょう。
せっかくなのでUSBケーブルもTRSケーブルも少し見栄えのいいものに交換しました。いいですね。
ちゃんと入力できるし、レイヤー切り替え時にはLEDが光るし、コンパクトだし。意図した通りの物を作り上げることができました。
まとめ
在宅勤務時にはHHKBを使用していましたが、このキーボードができてからはこちらを使用して仕事をしております。
左右分離なので肩こりも緩和できていいのですが、何よりも自分で設計した道具を使っているという感覚が最高ですね。