1個のボタンにモールス信号を打って文字入力、ESP32-C5の自作キーボード

ボタンを1個だけ備えた「キーボード」がある。短く押すと「・」、長く押すと「-」と、モールス信号の要領で打つと、文字に変換してパソコンやスマホに送る。GitHubで「0015」として活動する開発者が、ESP32-C5を使ったこの自作キーボードを、オープンソース(MITライセンス)で公開した。

ふつうのキーボードは多くのキーと複雑なソフトが要る。この装置は、それを1個の物理ボタンまで削ぎ落とした。短押し(300ミリ秒未満)が「・」、長押し(300ミリ秒以上)が「-」で、最後の入力から1秒の間があくと、その並びを1文字(A〜Zと0〜9)に変換する。文字は、Bluetooth Low Energy(BLE)の標準的なキーボード信号として送るため、受け取る側に専用のソフトはいらない。macOSやiOS、Androidで動くという。

心臓部には、新しいマイコン「ESP32-C5」を使う。RISC-Vのコアを積み、Wi-Fi 6やBLE 5に対応する。画面とボタンには、Waveshareの「ScreenKey」という部品が効いている。これは、小さなIPS液晶(0.85インチ、128×128ドット)と、キーボード用のメカニカルスイッチを、1つのキーキャップにまとめた部品だ。これ1個で、表示とボタンの両方をまかなう。電源は、3.7Vの小さなリチウム電池をUSB-Cで充電して使える。

液晶には、入力中のモールス符号(アンバー)、直前に確定した文字(白、大きめ)、これまでの文章(青)、Bluetoothの接続状態を示す点が出る。細かな配慮もある。3秒以上の長押しで、入力中の符号や文章の履歴、保存した接続情報をまとめて消せる。接続が3回続けて失敗すると、いったん電波の発信を30秒止めてから「MC_Pair」という名前で再び現れ、つなぎ直しやすくする。

ソフトは、ESP-IDFの上でFreeRTOSとNimBLE(BLEの実装)を使い、画面はLVGLで描く。開発者は、ESP32-C5のBLE 5やLVGLを試し、専用ドライバーなしで動くBLEキーボードをゼロから作る参考例として公開したとしている。設計データとコードはGitHubにある。

関連情報

Close-up of a hand holding a small black device with a blue glowing 'H' on its screen; a larger blue 'H' on a screen is blurred in the background.

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次