電子工作で自作基板の製作を始めて1年ほどが経ったのですが、以前から興味を持っていた自作キーボードの世界にも少し足を踏み入れてみようかと考えています。
自作キーボード製作は様々な方がその開発のノウハウを公開されており、また自作キーボードキットといったものも販売されています。
いろんな楽しみ方があるかと思いますが、電子工作を趣味としてやっている身としては自分がイメージするキーボードレイアウトやPCBを1から設計し動作させるためのプログラム(ファームウェア)も自分で書いたオリジナルのものを作ってみたい、なんて思っています。
フルサイズといった規模が大きなものをいきなり製作するのはさすがに難しくなってきますが、まずは小規模なものから作ってみよう・・・
そんな事から今回は4キーのみの小さなキーパッドの製作を考えています。
自分の指のサイズに合わせて作った左手キーパッドで、普段KiCadを使って基板設計をする際によく使うショートカットキーを割り当てて使えるといったイメージのものを考えています。
4キーのみの自作キーパッドの製作
自作キーボード製作に向けてまずは小規模なものから製作してみようということで、以前1キーのみのシンプルなものを作ってみました!
3cm角の小さな1キーキーボードです。
この投稿をInstagramで見る
制御するためのMCU(マイコン)チップにはATmega32U4を使いました。
自作キーボードでよく使われるPro Microに使われているマイコンチップです。
1キーの判定以外に2つのRGB LEDの点灯制御、スピーカーからの出力も出来る機能を付けています。
たったこれだけの機能でATmega32U4を使うのは少しオーバースペックとなり、さらに基板サイズが小さいのでパーツの配置も大変となることから製作段階ではCH552Gといったマイコンチップを使ってもっとシンプルに製作するという選択肢もあったのですが・・・
この1キーキーボードではATmega32U4に独自で作ったArduinoプログラムを書き込んで動かす構成にしています。
自作キーボードには専用に用意されたファームウェアがいくつかあり、それらを使うのが一般的なようですね。
QMK FirmwareやPRK Firmware、KMK Firmwareなどなど、いろいろとあるようです。
それらファームウェアを書き込んでテストなどをすることも想定して上記1キーキーボードではATmega32U4を使って製作し、QMKファームウェアを書き込んで動作させることも問題なく出来ました。
この投稿をInstagramで見る
このように自作キーボード用のファームウェアを使った簡単なテストも出来たので、今回は少しキーの数を増やして4キー構成の自作キーパッドを製作してみようかと考えています。
KiCadを使った基板設計では、『M』や『E』、また『R』や『F』といったショートカットキーをよく使います。
これらよく使うキーを割り当てたシンプルな左手キーパッドがあると便利そう?というのは前々から思っていたので製作してみることに。
4キーだけの簡単なキーパッドですが、回路や基板設計、またキーやLED配置によるキーボードレイアウトの作成、メインPCB意外の基板やアクリルパネルといったものを使った全体構成、そしてキーボード用のファームウェアの作成といった自作キーボード製作における基本的な製作工程が全て含まれているので、まずはこれくらいの規模のものからチャレンジしてみるのは面白そうで経験値にもなりそうです。
CADのイメージ
KiCadを使う際によく使うショートカットキーを4つ割り当てて使う左手キーパッドというイメージのものとなります。(KiCad用に限定しているわけではありませんが!)
『自作キーパッド』なので自分が使いやすいことが絶対条件となります。
そのため、ボードサイズや形状をFusion360を使ってまず設計してみることにしました。
自分の左手の指の位置(手は小さい方です!)に合わせてキーの配置を決め形状を作っていきました。
自分の指の間隔に合わせて設計いるので、キーの高さを上手く調整出来れば使いやすくなるとは思うのですが・・・
既存のPro MicroやRaspberry Pi Picoを直接基板に実装出来れば製作は簡単なんですが、このボードサイズで作ることを想定しているのでサイズ上収めることが出来ないためATmega32U4またはRP2040を使った回路を設計し実装することになります。
またKiCadの作業ではSpaceMouseを使うことも多いので、こんな感じで使うことも出来れば理想的なんですが・・・
これはキーの高さと自分の指の高さの関係もあるのでCAD上だけではなかなか確認が難しく、間に挟むアクリルパネルによる高さ調整など実際に製作して使ってみないと分からない部分ではあります!
Fusion360上である程度イメージが固まったので、メイン/トップ/ボトムの3枚のPCB、そしてアクリルパネルの形状を作っていきました。
各パーツの形状が作れれば、それらデータをKiCad側に持っていけばパネルとPCBの干渉部分などの確認も出来るので基板に実装するパーツの配置も楽になります!
アクリルパネルと干渉する部分はパーツを配置しないようにメインPCBを設計すれば、基本的にFusion360でイメージしているものが組めると思います。
基板設計
メインの基板にアクリルパネルを挟み込む構成を想定するとメイン基板にパーツを配置することが出来る面積はその分小さくなってしまいます。
ここで制御するMCU(マイコン)の選定ですが、CH552Gといったマイコンチップを使えば非常にシンプル・簡単な構成で製作出来るのですが、キーボード用のファームウェアを書き込んで使うことを考えるとATmega32U4またはRP2040という選択肢となってきます。
どちらを使った回路構成でも想定している基板サイズに収めることが出来そうですが、今回はATmega32U4を使って製作することにしました。
回路を設計し配置してみると、この基板サイズに十分収めることが出来るようです。
スペース的にまだまだ余裕があったので、キー直下に配置したLED以外に基板裏を点灯させるLEDもいくつか配置しました。
これでほぼメイン基板は完成です!
Fusion360上でキーの配置は決めているので、それに合わせてトップPCBも作ります。
メインPCBの設計でリセットスイッチの位置が確定したので、その穴位置をボトムPCBに反映させます。
これで使用する3枚の基板がほぼ完成しましたが、間に挟むアクリルパネルの肉厚の問題でビス穴の位置調整などの微調整は必要となってきそうです!
全体イメージ
KiCadでメイン・トップ・ボトムの3枚の基板を設計し、基板から出っ張るリード線やUSB端子の高さなどから間に挟むアクリルパネルの高さを調整し全体のイメージが固まりました。
まだCAD上での話なので調整等必要な箇所がまだまだありそうですが、雰囲気はすごくいい感じになりました。
当初アクリルパネルを間に挟む構成で考えていましたが、PCB製造メーカーでは3Dプリントサービスもやっているので、透明レジンで作ってみるのも面白そうではあります。
【追記】初めての自作キーパッド『4KeyPad』が完成しました!
初めての自作キーパッド『4KeyPad』が完成しました。
透明レジンを使ったパネルを製作し、想定以上に満足できる仕上がりになったと思います。
自作キーパッドくん、透明パネルに変えてみた!
メチャいいっす👍 https://t.co/LUvYH7P6vh pic.twitter.com/9giMk0WLrv— ガジェット大好き!! (@smartphone_jp1) April 27, 2024
1からキーレイアウトやPCBを設計し、QMKファームウェアやREMAPに対応させるなど非常に得るものが多かったプロジェクトでした!
最後に!
初めての自作キーパッド製作に向けてザックリと製作状況をまとめてみました。
4キーのみの小規模なキーパッドですが、自作キーボード製作に必要な工程が全て含まれているので楽しみながら設計を進めています!
今後製作するであろう自作キーボード製作にも得られたノウハウは活かせそうです。
まだCAD上での空論に過ぎませんが、実際に製作した際にまた詳しくご紹介出来ればと考えています。
コメントを残す