Skip to content

bt2usb

Bluetooth controllers to USB HID gamepad output.

Overview

BT-only variant of usb2usb. Pairs Bluetooth controllers and outputs as a standard USB gamepad. No USB host -- Bluetooth input only. Supports the same USB output modes and web configuration as usb2usb. Available across 4 platforms: Pico W (Classic BT + BLE), Pico 2 W (Classic BT + BLE), ESP32-S3 (BLE only), and nRF52840 (BLE only).

Input

Bluetooth controllers via: - Pico W / Pico 2 W -- CYW43 (Classic BT + BLE). Supports DualSense, DualShock 3/4, Xbox, Switch Pro, 8BitDo, etc. - ESP32-S3 -- BLE only. Xbox BLE, 8BitDo BLE, Switch 2 Pro BLE, generic BLE HID. - nRF52840 -- BLE only. Same BLE controllers as ESP32-S3.

Output

USB Device Output -- USB HID gamepad with multiple emulation modes.

Core Configuration

Setting Value
Routing mode MERGE (all inputs blended to one output)
Player slots 4 (fixed assignment)
Max BT connections 4
Profile system None

Key Features

  • Same USB output modes as usb2usb (SInput, XInput, PS3, PS4, Switch, etc.).
  • Web configuration at config.joypad.ai.
  • Multiple BT controllers merge into single USB output.
  • Auto-scans for controllers on boot.

Supported Boards

Board Platform BT Type Build Command
Pico W RP2040 Classic + BLE make bt2usb_pico_w
Pico 2 W RP2350 Classic + BLE make bt2usb_pico2_w
XIAO ESP32-S3 ESP32-S3 BLE only make bt2usb_xiao_esp32s3
Feather ESP32-S3 ESP32-S3 BLE only make bt2usb_feather_esp32s3
XIAO nRF52840 nRF52840 BLE only make bt2usb_seeed_xiao_nrf52840
Feather nRF52840 nRF52840 BLE only make bt2usb_feather_nrf52840

Build and Flash

# Pico W (RP2040)
make bt2usb_pico_w
make flash-bt2usb_pico_w

# ESP32-S3 (requires ESP-IDF)
make bt2usb_xiao_esp32s3
make flash-bt2usb_xiao_esp32s3

# nRF52840 (requires nRF Connect SDK)
make bt2usb_seeed_xiao_nrf52840
make flash-bt2usb_seeed_xiao_nrf52840

See ESP32 platform docs and nRF52840 platform docs for toolchain setup.

Firmware Files

Board Firmware Filename
Pico W joypad_*_bt2usb_pico_w.uf2
Pico 2 W joypad_*_bt2usb_pico2_w.uf2
XIAO ESP32-S3 joypad_*_bt2usb_esp32s3.uf2
XIAO nRF52840 joypad_*_bt2usb_seeed_xiao_nrf52840.uf2
Feather nRF52840 joypad_*_bt2usb_adafruit_feather_nrf52840.uf2