Pico - USB to BLE HID Bridge
1. 概要
本ソフトウェアは、Raspberry Pi Pico 2 Wを「USBとBLEのブリッジ(中継器)」として動作させるためのファームウェアです。
USB HIDデバイス(キーボード、マウス、ゲームパッドなど)をPico 2 Wに接続するだけで、PCやタブレット、スマートフォン等からBLE(Bluetooth Low Energy)デバイスとして使用できるようになります。
2. システム構成
2.1. 構成概要
-
特記事項
- Pico 2 Wの標準USBコネクタは、給電専用として使用します(USB通信には使用しません)。
- USBデバイスとのUSB通信は、GP0およびGP1をPIO(Programmable I/O)で制御し、ソフトウェア的に実装したUSBポートを介して行います。
2.2. Pico 2 WとUSBコネクタ基板(Aメス)の接続
USBコネクタ基板(Aメス)に秋月電子:AE-USB-A-DIPを使用する場合の接続例は以下の通りです。
| Pico 2 Wのピン名 | ピン番号 (物理ピン) | USBコネクタ基板のピン |
|---|---|---|
| GP0 | 1 | D+ |
| GP1 | 2 | D- |
| GND | 38 | GND |
| VBUS | 40 | VBUS |
Pico 2 WのGP0・GP1と、USBコネクタのD+・D-の間には、それぞれ27Ωの抵抗を接続します。
3. 機能の特徴と制限
3.1. 特徴
- PC、タブレット、スマートフォンからは、標準的なBLE HIDデバイスとして認識されます。
- 接続可能なUSB HIDデバイスの種類に原則制限はなく、キーボード、マウス、ゲームパッドなど、様々なデバイスに対応します。
3.2. 制限事項
- ゲームパッドは「DirectInput」方式に設定してください。XInput方式には対応していません。
- USB複合デバイス(1つのUSBデバイスでキーボードとマウスの両方の機能を持つものなど)の場合、機能の一部しか動作しないことがあります。
- USBデバイスのホットプラグ(通電中の抜き差し)には対応していません。
- Pico 2 WとUSBデバイスの間にUSBハブを介して接続しないでください。
4. ソースコードとバイナリ
今回作成したプログラムの全ソースコードと、そのまま書き込めるバイナリ(uf2ファイル)は、以下のGitHubリポジトリで公開しています。
shiomachisoft/pico_usb_ble_hid_bridge
ソースコードは、Pico SDK(C言語)で作成しています。
5. 使い方
5.1. ファームウェアの書き込み
- Pico 2 WのBOOTSELボタン(白いボタン)を押しながらPCとUSB接続し、RP2350ドライブとして認識させます。
- ドライブ内にファームウェア(
pico_usb_ble_hid_bridge.uf2)をドラッグ&ドロップします。
5.2. ペアリング
-
システム構成図の通りに各デバイスを接続します。
-
Pico 2 Wの電源がOFFの状態で、USBコネクタ(Aメス)にUSBデバイス(キーボード、マウス、ゲームパッドなど)を接続します。
ゲームパッドを使用する場合は、あらかじめ「DirectInput」方式に設定しておいてください。
-
Pico 2 WのUSBコネクタに給電して電源をONにします。
- BLE接続が確立していない待機状態では、Pico 2 WのオンボードLEDが点滅します。
-
BLEホスト(PC、タブレット、スマートフォン)のBluetooth設定画面を開き、「USB BLE HID Brg」を検索してペアリングします。
Windows 11の場合、下図の赤枠を選択してください。
-
ペアリングが完了すると、LEDが常時点灯に変わり、USBデバイスでの操作が可能になります。
再接続について:
- 一度ペアリングを完了すると、次回以降は自動的に再接続されます。
- 再接続時には、BLEホスト(PC、タブレット、スマートフォン)側でのペアリング操作は不要です。
接続するUSBデバイスを変更する場合の手順:
接続するUSBデバイスを変更する場合は、以下の手順で行ってください。
- Pico 2 Wの電源をOFFにする。
- BLEホスト(PC、タブレット、スマートフォン)のペアリング情報から「USB BLE HID Brg」を削除する。
- USBコネクタ(Aメス)に新しいUSBデバイスを接続する。
- 再び「5.2. ペアリング」の手順を実施する。
6. 動作確認済みデバイス・環境
6.1. 動作確認済みUSBデバイス
- マウス:ELECOM M-HC01UR
- キーボード:ELECOM TK-FDM109T
- ゲームパッド:ELECOM GP20s
6.2. 動作確認済みBLEホスト
- Windows 11 PC
- iPad 第9世代(iPadOS 26.5)
- Pixel 8a(Android 16)
- ゲームパッドは、まだWindows11 PCでしか試していません。
7. ライセンス
本ソフトウェアのライセンス詳細については、リポジトリ内の LICENSE を参照してください。
8. 実装上の特徴
※今後追記する予定です。
9. 免責事項
本記事の内容や本ソフトウェアの使用により生じた、いかなる損害やトラブルについても、作者は一切の責任を負いません。ご利用は自己責任でお願いいたします。


