USB HID / implementation

ESP32-C3でキーボードを作るときの確認ポイント

USB HID / 分類確認中

対象ESP32-C3
用途keyboard
Review2026-07-23

USB HID / 分類確認中

ESP32-C3はWi-FiとBluetooth LEを備えるRISC-V SoCですが、内蔵USBは固定機能のUSB Serial/JTAGです。一般的な有線USB HIDキーボードとして再構成することはできません。 ESP32-C3でキーボードを作る場合は、Bluetooth LE HIDキーボードを中心に考えます。

USB機能の制約

USB Serial/JTAGはファームウェア書込み、シリアルコンソール、JTAGデバッグ向けです。HIDキーボード、マウス、MIDI等の任意USB Deviceクラスには変更できません。USB Hostにも対応しません。

有線USBキーボードが必要なら、ESP32-S3、RP2040/RP2350、SAMD21、ATmega32U4等を選びます。

BLEキーボードの構成

  • ESP32-C3-DevKitM-1やXIAO ESP32C3等
  • キースイッチ
  • 行列構成ならダイオード
  • USBデータケーブル
  • ケース・プレート
  • 必要に応じてバッテリーと充電回路

Bluetooth HID over GATTでキーボードレポートを送ります。ペアリング、ボンディング、暗号化、再接続、複数キー、修飾キー、スリープを実装します。

要確認: XIAO ESP32C3等の小型ボードは、バッテリー充電回路、アンテナ、ピン数、USB端子がDevKitM-1と異なります。完全なボード名と回路図を確認してください。

実装手順

  1. 正式なボード名とESP-IDF/Arduino Core版を決める
  2. BLE広告と接続を確認する
  3. 1キーのHIDレポートを送る
  4. キーマトリクスを追加する
  5. デバウンスとゴースト対策を行う
  6. ペアリング情報の保存と削除操作を実装する
  7. スリープ・復帰・再接続を確認する
  8. Windows、macOS、iOS、Android等の対象環境で試験する

電源とデバッグ

BLEキーボードではスリープ時と送信時の電流を分けて測定します。USB Serial/JTAGはデバッグ中に便利ですが、スリープへ入ると接続状態が変わるため、電池駆動試験ではUSBを外して確認します。

近い候補

有線USBとBLEの両方を1チップで試すならESP32-S3、BLE低消費電力とUSB DeviceならnRF52840、PIOとUSBならRP2350が候補です。

一次情報

確認日: 2026-07-23

次に読むとよい記事

記載内容は公式資料で確認できた範囲を基準にしています。ボード版、外付けモジュール、SDK、供給状況は変更されるため、購入・実装時に再確認してください。

Amazonの検索結果

購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。

次に読むとよい記事