USB HID / implementation

ESP32-S3 / RP2350 / Pico 2: keyboard firmware bring-up

ESP32-S3とRP2350 / Raspberry Pi Pico 2でUSBキーボードファームウェアを立ち上げる比較です。どちらもUSB DeviceとしてHIDキーボードを構成できますが、MCU、開発ボード、USBコネクタ、書き込み経路、SDKを分けて確認します。

対象ESP32-S3 / RP2350 / Raspberry Pi Pico 2
用途keyboard firmware bring up
Review2026-08-03

追加調査で押さえる実務ポイント

ESP32-S3とRP2350 / Raspberry Pi Pico 2でUSBキーボードファームウェアを立ち上げる比較です。どちらもUSB DeviceとしてHIDキーボードを構成できますが、MCU、開発ボード、USBコネクタ、書き込み経路、SDKを分けて確認します。

構成と判断軸

対象主な確認
ESP32-S3USB Device、TinyUSB、GPIO、USB Serial/JTAGとの競合
RP2350USB Device、Pico SDK、TinyUSB
Pico 2コネクタ、BOOTSEL、ボード配線
キーマトリクス行列GPIO、ダイオード、チャタリング

最小検証手順

  1. 対象MCU、開発ボード、リビジョンを記録する。
  2. 公式SDKとサンプルを固定版で取得する。
  3. 周辺回路なしの最小ファームウェアを書き込む。
  4. UART、デバッガ、USB列挙などで起動を観測する。
  5. 周辺部品を一つずつ追加する。
  6. 正常系、境界条件、電源再投入、長時間試験を行う。
  7. バイナリ、ソース、ログ、配線図、測定値を保存する。

電源と配線

絶対最大定格を通常動作条件として使いません。USB VBUS、GPIO電圧、電池充電、外部電源、逆流、突入電流、ESDを各データシートとボード回路図で確認します。配線変更は無通電で行います。

失敗時の切り分け

症状優先確認
書き込めないケーブル、ブートモード、デバッガ、電源
USB列挙しないD+/D-、コネクタ、クロック、descriptor
通信が止まるタイムアウト、再接続、バッファ、権限
電池が持たない実測待機電流、送信時間、レギュレータ
ストレージを読めないHost対応、VBUS、MSC、ファイルシステム

合格条件

デモが一度成功するだけでは不十分です。再起動、抜き差し、異常入力、電圧低下、複数個体、別PCで再現し、失敗をログで説明できることを合格条件に含めます。

次に確認するページ

参考リンク

  • https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/ - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://github.com/espressif/arduino-esp32/blob/master/libraries/USB/src/USBHIDMouse.cpp - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://github.com/espressif/arduino-esp32 - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-reference/peripherals/usb_device.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://github.com/espressif/esp-idf/tree/master/examples/peripherals/usb/device/tusb_hid - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-iot-solution/en/latest/usb/usb_overview/usb_device_solutions.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-iot-solution/en/latest/usb/usb_overview/usb_otg.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-reference/peripherals/gpio.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide_v1.1.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-otg/user_guide.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/get-started/establish-serial-connection.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。
  • https://docs.espressif.com/projects/esp-faq/en/latest/software-framework/peripherals/usb.html - 対象の公式仕様、現行状態、実装条件または原記事を確認した公開資料。

Amazonの検索結果

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

次に読むとよい記事

PR