1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

無線のミニキーボードを作ってみた

1
Last updated at Posted at 2026-04-29

きっかけ

 有線だけどとりあえずキーボードを作ることができた。
ので次は無線でキーボードを作ってみたい。ということで挑戦してみた。

大まかなコンセプト

 まずはミニキーボードを作ってみる (便利なショートカットキーを割り当てて使えればいいなと)
仕様としてはこんな感じ

  • 無線(bluetooth)でパソコン等と接続して制御できること
  • 乾電池等で動くこと(給電も外部から不要にしないと無線の意味がないと思うので)

大体の設計の流れは以前投稿した以下記事とほぼ同じ

回路設計

 回路図はこんな感じで作成した。主な特徴は以下の通り

  • ESP32マイコンを採用
  • USB type-C端子を搭載
  • 3.3V電源用に消費電力が低そうなスイッチングレギュレータを採用
  • 音量調整等に使えるロータリーエンコーダを採用
    Schematic.jpg

 今回はESP32シリーズを使ってみた。その中のESP32-H2-MINI-1はUSBポートから直接書き込みが可能で、低消費電力を謳っているモデルらしい。(無線はbluetoothに対応しているものの、Wifiには対応していないとのこと)
 前回のキーボード製作に使ったArduino Leonardでは初回にブートローダの書き込みが必要だったが、このマイコンなら初回からUSBで書き込むことができる。
↓秋月でも買える。

ロータリーエンコーダは遊舎工房とかで売ってるこのタイプ。時計回り/反時計回りに回せるほか、プッシュスイッチ機能もある。左右回転は音量up/downに割り当てて、プッシュはミュートon/offに割り当てる等が可能

また、3.3V電源は以下のスイッチングレギュレータを使った。乾電池やニッケル水素電池1本で簡単に3.3Vや5Vを作れるが、結構高い(1000円ぐらい)。

基板設計

基板設計はこんな感じ

Screenshot 2026-04-29 at 0.08.24.png

筐体設計

外装のアクリル板の設計と寸法チェックも兼ねて3D CADでモデルを作成した

Screenshot 2026-04-29 at 0.12.45.png

上から見た図

Screenshot 2026-04-29 at 0.14.02.png

電池ケースは上部に配置し、サイズは単四。通常のキースイッチは7こ配置し、中央やや上部にロータリエンコーダを配置した。

材料調達

 大半の部品は秋月や千石電商等で入手した。一部スイッチングレギュレータ等はDigikeyから購入した。
また、外装のアクリル板については今回は以下サービスで作ってもらった。

本来はキーホルダーやアクセサリ向けのアクリルレーザー加工のサービスだと思われるが、アクリル厚や寸法が注文できる仕様だったので注文してみた。

組み立て

 写真を撮り忘れていて途中経過の写真はあまりないがこんな感じ
↓はんだペースト塗布
IMG_3086.jpeg

↓組み立て後の画像
IMG_3150.jpeg
大体70mmx70mmぐらいのサイズでまあまあコンパクトにできた

プログラミング

ESP32シリーズをあまり使った事がなく、メインで使っているPCには何も入っていないのでゼロから環境構築をした。
↓手順は公式サイトの通り。

基本的にはCLIのコマンドでコンパイル、書き込み、デバッグシリアルモニタの起動等を行う。
環境構築後の実装手順は以下の通り

  • 環境変数を設定する
$ get_idf
  • サンプルプログラムをコピーしてくる
$ cd [yourpath]
$ cp -r $IDF_PATH/examples/get-started/hello_world ./  
#$IDF_PATHは前の手順で環境変数がセットされる
  • 以下コマンドで対象のESP32のモデルを指定(おそらく環境変数の設定や、ビルドの設定ファイル等がここで書き変わると思われる)
$ idf.py set-target esp32-h2
  • コーディングする
# cliの設定画面を開いてペリフェラルの設定等をする
$ idf.py menuconfig

設定ができたらよしなにコーディングする

  • ビルドする
$ idf.py build
  • USBでミニキーボードとPCを接続して書き込む
$ idf.py -p /dev/tty.usbmodem1101 flash
# 接続したポートを指定する mac OS ならls /dev/tty.* 等でポートを確認
  • debugする
# USBに接続し、起動した状態で以下を実行する
$ idf.py monitor
# コード中に ESP_LOGI(TAG, "message");等を記述しておくとdebug serialで出力できる

最後に

 とりあえずショートカットキーを割り当てたりして動かす事ができた。
けどこういうカスタムキーボードは遊舎工房とかで普通に売ってたりするから、買った方がラクで安上がりかもしれない。。。

IMG_3244.jpeg

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?