11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【電子工作 / PCB】1キーのみの可愛い自作キーボードの製作を考えています!

電子工作で自作基板の製作を始めてちょうど1年ほどが経ちました!
KiCadの扱いにも少し慣れてきたので、これまで電子工作をやっていて自分の環境でこんなものがあると便利なのに!
と考えていたものからまず優先的に形にしています。

自作基板関連の記事一覧

自作基板(PCB)と言っても、いろいろとジャンルがあるわけですが・・・。
その中の一つに自作キーボードやキーパット、マクロパットといったものの製作にも非常に興味を持っています。
いずれは自分で設計し製作したものを使ってみたいな、なんてことも考えています。

こちらの世界も非常に多くの方が沼にハマられているようですね!
製作された自作キーボード基板を販売されている方も多いようで、見ているだけでもテンションが上がります。

いきなりこのような自作キーボードやマクロパットなどを製作するのは難易度が高いので、まずは1キーのみの簡単なものを製作してみようかと考えています。

・・・簡単と言ってもキーの数が少ないだけで実際に製作を進めていくとMCUの選定や回路設計、またプログラムやPCを操作するHIDといった知識が必要となります。

自作キーボード製作から少し方向性が変わってくるかもしれませんが、電子工作的には非常に面白い題材だと思います。

自作キーボードのMCU(マイコン)選定

自作キーボードに使うMCU(マイコン)は、Pro MicroRaspberry Pi Picoを使うのがメジャーなようですね!
Pro MicroはマイコンチップにATmega32U4が使われたLeonardo系のArduino、そしてRaspberry Pi PicoはRP2040が使われた開発ボードです。

【Arduino】Pro Microの基本仕様・ピン配列等まとめ!

自作キーボード製作では、PCのキーボードやマウスといったデバイスを操作するためのHID(Human Interface Device)機能が備わったマイコンを使っているということですね。

USB操作をするために使えるマイコンは他にもいろいろとありますが、自作マクロパットでCH552Gを使ったものもよく見かけます。

自作する際の参考にしようと以前買ったこちらの3キー+エンコーダーという構成のマクロパッドにもCH552Gが使われていました。

自作キーボード製作に向け、安価なマクロパッドを試してみました![SIKAI CASE]

ATmega32U4やRP2040よりも安価なチップで電子工作用で便利に使えそうなチップです。
CH552Gに関しては、また個別記事で詳しく紹介できればと思っています。

【電子工作】CH552をArduino環境で使ってみる!

MCUにATmega32U4を使ったPro MicroやArduino LeonardoはArduinoから電子工作を始めた私としては普段よく使っているので、スケッチ(プログラム)作成のことを考えるとPro Microを使うと比較的簡単に1キーのものなら製作出来そうだと思ったのですが・・・サイズ的な問題が出てきます。

小さな1キータイプのキーボードとしてはサイズ的に30mm×30mmくらいまでのサイズ感で製作出来ると可愛く仕上げることが出来そうなんですが、仮にPro Microを使うとボードサイズはさらに大きくする必要が出てきます。
Raspberry Pi Picoを使っても同様です!

また基板表面にピンヘッダーのスルーホールが出てしまい見栄えもあまり良くありません。

端面スルーホール基板として製作し小さな開発ボードをそのまま実装するという選択肢もあるのですが・・・これをやるなら電子工作的にはもう自分で回路を組んでしまった方が面白そうではあります。

Pro Microでも使われているATmega32U4を使い必要な部分の回路を設計し想定する基板サイズに収める場合を考えると、チップは小さなものを使わないと収めることが出来なさそうです!

ATmega32U4にはQFPタイプとQFNタイプの2種類のチップがあるのですが、想定している30mm角以内の基板サイズにする場合QFNタイプのチップを使う必要がありそうです。
Pro Microでも使われている足(リード線)が出っ張っていないタイプのチップです。

QFPサイズのものを使うとどうしてもキー(スイッチ)のスルーホールへの干渉や配線するスペースの問題が出てきてしまいます。
実装は少し難しくなりそうですがATmega32U4-MUチップを使えば収まりそうです。

ATmega32U4はこれまで製作した自作基板でもいくつか使いました。
これなら慣れたArduinoスケッチでプログラムを組むことも出来そうで、私には好都合なんですがね・・・。

【電子工作 / PCB】スーパーファミコンのコントローラーをUSBゲームパッドに改造する基板を作ってみました!

そもそも1キーのみという構成で44ピンあるATmega32U4を使うのは・・・ATtinyとか他のチップを選んだ方が?
といったコメントもSNSで頂き、確かにその通りなのですが・・・

次にキー数を増やした、例えば自作マクロパットを製作する際には回路&スケッチのベースとして使えるのでは?なんていうことも考えているので、そのテストとしていいのでは?と考えていますが・・・
この手のチップのレパートリーが私の中でまだあまり無いというのが現状ですね!

回路 & 基板設計

仮にATmega32U4を使うことを想定しザックリと回路を組んでパーツを配置してみるとこんな感じ。

上手く収めることが出来そうで、空いたスペースにRGB LEDを取り付けることも出来そうです。
1キータイプのキーボードとして雰囲気は出てきましたね!

インスタではチャタリング対策としてRCフィルターを入れた方がいいよ!
といったご意見も頂きました。
スイッチをONやOFFにした時に物理的に接点が短い周期でON/OFF何度かカウントしてしまう現象ですね。

チャタリングに関してはスケッチ(プログラム)側で抑えることは可能なので、無くてもよさそうですが・・・

しかし何かしら、例えばI/Oピンの割り込みで使う用途ではRCによるローパスフィルタやシュミットトリガを加えるなど簡単に組めるので入れておいた方がいいかもしれませんね!(これ以上あまりパーツを増やしたくはないですが)

仮で組んだ基板ではキー判定で使うI/Oピンは配線しやすい場所のものを使っています。
Arduino(ATmega32U4)では割り込みで使えるピンがいくつかありますが(D0/D1/D2/D3/D7)、何かしらを想定してそちらのピンに変更しておく方がいいのかな?

そのような事を考慮すると割り込みピンを使う場合はローパスフィルタも入れておいた方がよさそうですが、パーツ点数が多くなることを考えると・・・割り込みが必要な用途とかって無いとは思いますが!

【追記】製作を考えていた1Key Keyboardが完成しました!

製作を考えていた1キーのみのシンプルな自作キーボード(1Key Keyboard)が完成しました。
なかなか可愛く仕上がったと思います。

【電子工作/ PCB】1キーのみの可愛い自作キーボード(1Key Keyboard)の製作!

最後に!

SNSやAmazonなどでたまに見かける1キータイプのミニキーボードを作ってみようと考えているのですが、実際に製作に入ると自分がイメージしたものを形にするまでにはいろんな選択肢などがあり、ほんと面白くなってくるものですね!

1キーのものを連結していき複数キーで使える構成のものや背面に磁石を取り付けPCまわりに貼り付けて使えるものなど、いろいろとイメージが出てきたりアイデアを盛り込むなど電子工作的には面白い題材だと思います。

コメントを残す