追加調査で押さえる実務ポイント
CH32V208をUSB Device HID mouseとしてPCへ接続し、固定移動、button、wheel、rotary encoder入力を確認する実装ガイドです。CH32V208の公式資料ではUSB 2.0 full-speed DeviceとHost/Device interfaceが案内されていますが、使用する完全型番、package、開発ボードでUSB pinとconnectorが実際に配線されているかを最初に確認します。
先に結論
CH32V208でUSB HID mouseを構成することは可能です。ただし、同じCH32V20x系列のsampleをそのまま流用せず、CH32V208向けSDK、board schematic、USB clock、D+/D-配線を一致させます。最初の成功条件は、PCがHID mouseとしてenumerationし、固定reportで短い移動を再現できることです。
必要なもの
- CH32V208のexact partを搭載した開発ボード
- data対応USB cable
- WCH-Linkまたは対応programmer
- WCH公式SDKとHID sample
- USB descriptor確認ツール
- 任意でbutton、rotary encoder、logic analyzer
USB connectorを確認する
開発ボードのUSB connectorが、次のどれかを確認します。
| connectorの用途 | 意味 |
|---|---|
| target USB Device | HID mouseに利用可能 |
| debugger USB | 書き込み専用でtarget HIDには使えない |
| USB Host | VBUS供給を伴う別role |
| USB-UART bridge | target MCUのUSBではない |
最小実装
- 外付け入力を外す。
- WCH公式のUSB Device sampleをbuildする。
- descriptorをHID mouseの最小構成にする。
- PCでVID、PID、class、endpointを確認する。
- X方向へ小さく移動する固定reportを送る。
- button pressとreleaseを追加する。
- wheelを追加する。
- unplug、replug、suspend、resumeを試す。
HID reportの設計
一般的なmouse reportではbutton bit、X、Y、wheelを持ちます。値のsigned範囲、report interval、relative/absoluteをdescriptorとfirmwareで一致させます。
buttons
x_delta
y_delta
wheel_delta
buttonは押下だけでなくreleaseを必ず送ります。releaseを送らないと、PC側で押しっぱなしになります。
rotary encoderを追加する場合
encoder入力はmechanical bounceと高速回転時の取りこぼしを確認します。GPIO interruptだけで不足する場合はtimerやstate machineを使います。mouse wheelへ割り当てる場合は、一回のdetentと一つのwheel eventが一致するように調整します。
認識しないときの切り分け
| 症状 | 確認 |
|---|---|
| USB deviceが出ない | cable、VBUS、D+/D-、clock |
| Unknown Device | EP0、descriptor、clock |
| HIDだが動かない | report descriptor、endpoint |
| 一度だけ動く | report送信状態、busy flag |
| 再接続できない | USB state初期化 |
| bootloaderだけ見える | application USBの初期化 |
切り戻し
USB descriptorを変更する前のknown-good binaryを保存します。applicationがUSB初期化で停止してもWCH-Linkからerase、再書き込みできる状態を保ちます。USBだけを変更した試験では、encoderやLEDなど他のdriverを同時に追加しません。
実装前に固定する情報
同じCH32V208でも、完全型番、package、開発ボード、基板revision、bootloader、SDK、回路図が違えば、利用できるpinやUSB connectorの接続先は変わります。作業前に次を記録します。
| 項目 | 記録内容 |
|---|---|
| MCU | 完全型番、package、chip marking |
| board | 製品名、revision、回路図 |
| power | 給電点、入力電圧、logic voltage |
| software | MounRiver Studio、WCH SDK、commit |
| programming | WCH-Link、boot mode |
| observation | UART、USB descriptor、logic analyzer |
| recovery | erase、known-good firmware |
| result | 合格条件、再現回数 |
販売ページの写真や別型番のpinoutだけで配線を決めません。CH32V203、CH32V208、CH32V307は近い系列でも、搭載機能とpackageが同一とは限りません。
電源と安全
配線変更は無通電で行います。GPIOへRS-485のA/B線やUSB VBUSを直接接続しません。絶対最大定格は通常動作条件ではありません。USB給電と外部給電を併用する場合は逆流経路を確認します。
次の場合は作業を中止します。
- exact partとboard revisionを確認できない
- logic voltageや電源railが不明
- 公式sampleが無改変で動かない
- recovery方法がない
- 異常発熱、変色、接触不良がある
受入基準
- clean buildが成功する
- 別個体へ書き込める
- 完全電源断後も起動する
- 3回以上同じ結果になる
- error counterを取得できる
- 書き込み失敗後に復旧できる
- 使用pinと外付け回路を説明できる
次に確認するページ
- /micon2026/
- /micon2026/articles/
- /micon2026/categories/
- /micon2026/mcus/
- /micon2026/uses/
- /micon2026/feed.xml
- /micon2026/articles/499-risc-v-mcu-learning-route-10.html
参考リンク
- https://www.wch-ic.com/products/CH32V208.html - WCH公式CH32V208製品ページ。
- https://github.com/openwch/ch32v20x - WCH公式GitHub。USB sampleとseries資料の確認先。
- https://www.wch-ic.com/downloads/CH32V20x_30xDS0_PDF.html - WCH公式datasheet配布ページ。
確認日: 2026-08-02
Amazonの検索結果
購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。
「CH32V208 development board」で検索した結果です。個別商品の推薦ではありません。型番・仕様・販売元を販売ページで確認してください。
Amazonで検索