USB / RP2040 / ESP32 / STM32
USB実装入門シリーズ インデックス——読む順番と使い方
できること
検索で来た人向けの即答
USB実装入門シリーズ インデックス——読む順番と使い方は、USBまわりの実装判断をすぐ確認するための記事です。必要な部品、配線、コード、検証、失敗しやすい点を順に見て、手元で再現できる状態まで落とし込むことを目的にしています。
この記事でできること・できないこと・前提条件
できること
- USB実装入門シリーズの全体像と記事の読む順番を把握する
- HID・CDC・Host・OTGのルートごとに「次に読む記事」を選ぶ
- 初学者・実務者・法人PoCの3ルートに対応した案内を確認する
できないこと
- 各USBクラスの詳細仕様の解説(各実装記事を参照してください)
- このページだけでUSBデバイスを実装すること
前提条件
- USB関連のマイコン実装に興味があるが、どこから始めればいいか迷っている方が対象
- 既に目的が決まっている方は目的のルートセクションへ直接進んでください
1. シリーズの使い方
このインデックスは「迷子を防ぐ案内役」です。USB実装の記事は複数の用途・MCU・OSにまたがるため、読む順番を間違えると理解が難しくなります。
読む流れ
このインデックス(本記事)
↓ 自分のルートを選ぶ
各ルートの「最初に読む記事」へ進む
↓ 実装しながら詰まったら
トラブルDB(記事028)またはOS別検証ハブ(記事029)へ
2. USBの大分類
USB実装で扱うクラスを大きく3つに分けます。
| 分類 | 代表用途 | 主な記事 |
|---|---|---|
| USB HID | キーボード、マウス、ゲームパッド、マクロパッド | 001〜005番台 |
| USB CDC | シリアル通信、データロガー、計測端末 | 006〜010番台 |
| USB Host | 他のUSBデバイスをMCUで制御する | 016番台 |
OTG(On-The-Go)はUSB Hostの一形態です。ESP32-S3がOTGをサポートしています。
3. 最初に読む記事の選び方
Q1. 何をしたいか?
→ PCに「キーボード/マウス/ゲームパッド」として認識させたい → HIDルートへ
→ MCUからPCへデータ(シリアル)を送りたい → CDCルートへ
→ MCUに他のUSBデバイスを接続して制御したい → Hostルートへ
→ 迷っている → まず記事026「MCU比較表」を読む
Q2. どのMCUを使う?
→ RP2040(Raspberry Pi Pico)→ 記事001
→ ESP32-S3 → 記事003または017
→ CH552 → 記事004または019
→ STM32 → 記事005
4. HIDルート(初学者向け)
目標: PCにキーボード・マウス・ゲームパッドとして認識させる
| 読む順 | 記事 | 内容 | MCU |
|---|---|---|---|
| 1 | 記事001 | RP2040 USB HIDマクロパッド | RP2040 |
| 2 | 記事002 | RP2350 USB HIDキーボード | RP2350 |
| 3 | 記事003 | ESP32-S3 USB HIDマウスエミュレーター | ESP32-S3 |
| 参考 | 記事026 | MCU比較表(HID用途での選び方) | — |
初学者が最初に読む記事: 記事001(RP2040)
5. HIDルート(実務者・複合用途向け)
目標: 複数のHIDデバイスを組み合わせる・USB Hostでデバイスを接続する
| 読む順 | 記事 | 内容 | MCU |
|---|---|---|---|
| 1 | 記事005 | STM32 USB HIDゲームパッド | STM32 |
| 2 | 記事016 | RP2040 USBホストマウス制御 | RP2040 |
| 3 | 記事028 | USBホスト実装トラブルDB | — |
6. CDCルート(データ通信・ロギング)
目標: MCUからシリアルデータをPCへ転送する
| 読む順 | 記事 | 内容 | MCU |
|---|---|---|---|
| 1 | 記事007 | USB CDCシリアルブリッジ | RP2040 |
| 2 | 記事006 | マルチMCU USB CDCフィールドロガー | RP2040 / ESP32-S3 |
| 3 | 記事008 | USBデータ収集ターミナル | — |
| 参考 | 記事009 | USBログ可視化 | — |
初学者が最初に読む記事: 記事007
7. Hostルート(USBデバイスを制御する)
目標: MCUをUSBホストとして使い、マウス・キーボード等を接続して制御する
| 読む順 | 記事 | 内容 | MCU |
|---|---|---|---|
| 1 | 記事016 | RP2040 USBホストマウス制御 | RP2040 |
| 2 | 記事028 | USBホスト実装トラブルDB | 複数 |
| 3 | 記事029 | OS別USB検証ハブ | — |
8. 法人PoCルート
目標: 産業用途・法人報告書を見据えた実装
| 読む順 | 記事 | 内容 |
|---|---|---|
| 1 | 記事027 | STM32 vs ESP32 産業用途比較 |
| 2 | 記事006 | マルチMCU USB CDCフィールドロガー |
| 3 | 記事037 | 法人PoC向け再現性レポートテンプレ |
9. トラブル時の戻り先
どのルートを読んでいても、つまづいたときは以下を参照してください。
| 状況 | 参照先 |
|---|---|
| デバイスが認識されない | 記事028 トラブルDB → T-01 |
| OS間で動作が違う | 記事029 OS別検証ハブ |
| MCU選定に迷った | 記事026 MCU比較表 |
| コスト・調達で迷った | 記事031 BOM/調達比較 |
10. MCUの役割(短くまとめ)
| MCU | USB実装での役割 |
|---|---|
| RP2040 | HIDおよびCDCの実績が最も豊富。Hostも対応(PIO) |
| ESP32-S3 | HID・CDC・OTGをWi-Fi/BLEと組み合わせたい場合 |
| CH552 | 低コスト入門・教材。Device専用 |
| STM32 | 産業用・長期供給・HS対応が必要な場合 |
11. 次のステップ
- 記事034「プロジェクトスターター」——用途別MCU・記事・BOMの総合案内
- 記事026「RP2040 vs ESP32-S3 vs CH552 比較表」——MCU選定の詳細比較
- 記事029「OS別USB検証ハブ」——OS別の動作確認手順
このページで確認しておくこと
先に見るポイント
- HID/CDC/Host/Deviceのどれを使う記事かを最初に確認する
- 開発ボード名、MCU型番、IDE/SDKのバージョンを固定する
- 配線、電源、USBケーブル、OS側の認識状態を分けて確認する
- 価格や在庫は公開時点から変わるため、購入前に販売ページを再確認する