-
-
Notifications
You must be signed in to change notification settings - Fork 114
Controller pairing guide
- 0 - Your controller not in the list?
- 1 - List of tested Bluetooth devices
- 2 - PS3 Pairing Guide
- 3 - PS4 & PS5 Pairing Guide
- 4 - Xbox Pairing Guide
- 5 - Wii & WiiU Pro Pairing Guide
- 6 - Switch Pairing Guide
- 7 - 8bitdo Pairing Guide
- 8 - Retro-Bit Pairing Guide
- 9 - Steam Controller Pairing Guide
- 10 - RetroFighters Warrior Adapter Paring Guide
- 11 - RetroFighters Brawler64 Bluetooth Paring Guide
- 12 - Exlene GameCube Paring Guide
- 13 - Hyperkin Admiral Paring Guide
I can add support for it if it's uniquely identifiable in one of it's mode of operation.
Follow this guide to get me a Bluetooth trace of it:
Getting Bluetooth HCI trace with Windows 10
- Controller may have multiple hardware revision, only the ones listed under Product Number were tested.
- Controller behavior may change between their various firmware version, only the firmware listed under Firmware is supported.
- Controller may have various mode of operation, only the ones listed under Mode is supported.
- Controller often spoof the name of another ones and may not be detectable, for those a mapping preset other than default may be required and is listed under Mapping preset.
- Issues reproduced by developer are listed under Known issues.
- Issues reported by user but not reproduced are listed under Unconfirm issues.
Name | Product Number | Firmware | Mode | Mapping Src Label | Mapping preset | Pairing Guide | Known issues | Un-confirm issues |
---|---|---|---|---|---|---|---|---|
8bitdo GBros. Adapter | 83GA | v2.26 | Xinput | Game Cube | Default Gamepad | 7 | #523 | |
8bitdo M30 Bluetooth | 80HA | v1.15 | Xinput | Saturn | Default Gamepad | 7, 7.3 | ||
8bitdo N30 Arcade Stick | NS30 | v5.10 | Xinput | Xbox One S / X|S | Default Gamepad | 7 | ||
8bitdo N64 | RB8-N64 | v2.00 | HID Generic | N64 | Default Gamepad | |||
8bitdo SF30 Pro | 80DB | v2.00 | Xinput | 8bitdo SN30 / SF30 | Default Gamepad | 7 | ||
8bitdo S30 Modkit | Xinput | Saturn | Default Gamepad | 7, 7.3 | ||||
8bitdo N30 Modkit | Xinput | NES | Default Gamepad | 7, 7.3 | ||||
Exlene GameCube | 2021-11 | Xinput (but they call it IOS) | Exlene Game Cube | Exlene GameCube | 12 | |||
Hyperkin Admiral N64 | MO7389-AP | v1.5.010722 | Switch | N64 | Default Gamepad | 13 | ||
Microsoft Xbox Adaptive | 1836 | 5.15.3168.0 | BT | Xbox One S / X|S | Default Gamepad | 4 | #441 | |
Microsoft Xbox One S | 1708 | 5.15.3168.0 | BT | Xbox One S / X|S | Default Gamepad | 4 | #441 | |
Microsoft Xbox Series X|S | 1954 | 5.15.3168.0 | BT | Xbox One S / X|S | Default Gamepad | 4 | #441 | |
Nintendo Switch Famicom & NES | HAC-033, 034, 035, 036 | Switch | Switch NES | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch Joycon (Dual) | HAC-015, 016 | Switch | Switch Joycon | Switch Left/Right Joycon Upright | 6.3 | #146 | #468 #473 | |
Nintendo Switch Joycon (Single) | HAC-015, 016 | Switch | Switch Joycon | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch MD & Genesis 3btns | HAC-045 | Switch | Switch MD / Genesis | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch MegaDrive 6btns | HAC-046 | Switch | Switch MD / Genesis | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch N64 | HAC-043 | Switch | Switch N64 | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch Pro | HAC-013 | Switch | WiiU / Switch Pro | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Switch SFC & SNES | HAC-042 | Switch | Switch SNES | Default Gamepad | 6 | #146 | #468 #473 | |
Nintendo Wiimote | RVL-036 | Wii | Wiimote | Default Gamepad | 5 | |||
Nintendo Wiimote + Classic | RVL-005 | Wii | Wiimote + Classic | Default Gamepad | 5 | |||
Nintendo Wiimote + Classic Pro | RVL-005 (-02) | Wii | Wiimote + Classic Pro | Default Gamepad | 5 | |||
Nintendo Wiimote + Nunchuck | RVL-004 | Wii | Wiimote + Nunchuck | Default Gamepad | 5 | |||
Nintendo WiiU Pro | WUP-005 | Wii | WiiU / Switch Pro | Default Gamepad | 5 | #3 | ||
PowerA GameCube | 1511638-01 | Switch | GameCube | Default Gamepad | 6 | |||
Retro-Bit SEGA Saturn Bluetooth | v1.02 | Xinput | Saturn | Default Gamepad | 8 | |||
Retro Fighters Brawler64 Bluetooth | Switch | N64 | Default Gamepad | 11.1.1 | ||||
Retro Fighters Brawler64 Bluetooth | Xinput | N64 | Retro Fighters Brawlers64 Xinput | 11.1.2 | ||||
Retro Fighters Warrior Adapter | Xinput | Game Cube | Default Gamepad | 10 | ||||
Sony PS3 DualShock 3 | PS3 | PS3 | Default Gamepad | 2 | ||||
Sony PS3 Sixaxis | PS3 | PS3 | Default Gamepad | 2 | ||||
Sony PS4 DualShock 4 | PS4 | PS4 / PS5 | Default Gamepad | 3 | ||||
Sony PS5 DualSense | CFI-ZCT1W | 0307 | PS5 | PS4 / PS5 | Default Gamepad | 3 | ||
Valve Steam Controller | 1001 | 0x5B0F21BD (2018-05-30) | Lizard (BLE) | KB & Mouse | DC FPS for Steam ctrl lizard | 9 |
- Note only official PS3 controller are supported.
- Download and install Sixaxis Pair Tool
- Determine BlueRetro MAC address
-
Open https://blueretro.io/ in a chrome web browser (desktop/android)
-
Navigate to "BlueRetro System Manager"
-
Click on "Connect BlueRetro"
-
Pair your device
On connection the MAC address of the device will be shown. Write it down.
Connected to:BlueRetro_XX_XXXX (XX:XX:XX:XX:XX:XX)[v.x.x.x]
- Connect your PS3 controller to PC using USB cable.
- Launch Sixaxis pair tool and type in the address found in step #2.
- Click update, once done disconnect the controller from PC.
- Boot up BlueRetro and press the PS button, the controller should connect to BlueRetro.
- Install Prerequisites (macOS)
-
Install Homebrew https://brew.sh
-
Install required libs & packages
brew install wget libusb libusb-compat
-
Compile sixpair binary
mkdir ~/Documents/sixpair cd ~/Documents/sixpair wget -O sixpair.c https://gist.github.com/wouterds/4ab5715966812009d634e3d034abc7fc/raw gcc -o sixpair sixpair.c -lusb
If everything went well you should now have a sixpair executable at
~/Documents/sixpair
. -
Determine BlueRetro MAC address
-
Open https://blueretro.io/ in a chrome web browser (desktop/android)
-
Navigate to "BlueRetro System Manager"
-
Click on "Connect BlueRetro"
-
Pair your device
On connection the MAC address of the device will be shown. Write it down.
Connected to:BlueRetro_XX_XXXX (XX:XX:XX:XX:XX:XX)[v.x.x.x]
-
Open a shell terminal and set the master PS3 address to BlueRetro MAC address
.~/Documents/sixpair/sixpair XX:XX:XX:XX:XX:XX
- Simply press PS button to reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Press & hold simultaneously Share & PS buttons until the LED blink white.
- Color on controller will change once pairing is complete.
- Simply press PS button to reconnect to BlueRetro.
Update firmware via the Xbox accessories Win10 app.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power on controller via Xbox button and then hold the black sync button until the logo blink.
- Logo will stop blinking on controller once pairing is complete.
- Simply hold Xbox button for a small moment to power on controller and it will reconnect to BlueRetro.
- 1+2 pairing is not supported.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Press red Sync button
- LEDs will stop blinking on controller once pairing is complete.
- Simply press any button on controller and it will reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Press and hold sync button until LEDs move in a left/right pattern.
- LEDs will stop pattern on controller once pairing is complete.
- Simply press any button twice on controller and it will reconnect to BlueRetro.
- Go to https://blueretro.io/blueretro_presets.html and connect to your BlueRetro.
- First select output 1 and select "Switch Left Joycon Upright" click save, wait for green text to appear.
- Then select output 2 and select "Switch Right Joycon Upright" click save, wait for green text to appear.
- Then pair the joycon with blueretro separately using the sync button hidden on the sliding side.
It's important to connect the left joycon first, then connect the right joycon - After that you can clip them on the middle support and they should function as one controller.
Update firmware via the 8bitdo Upgrade tool Win10 app.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up 8bitdo controller in Xinput mode (Start + X or set switch to X) (Only Xinput mode supported!!)
- Press and hold sync button until LEDs flash.
- LEDs will stop pattern on controller once pairing is complete.
- Simply press Start on controller and it will reconnect to BlueRetro.
Most 8bitdo controller are configured to have the D-pad emulate a joystick by default. In most case for BlueRetro you will want to configure it as a d-pad.
See 8bitdo support page FAQs for each controller for more info.
- 8bitdo S30 Modkit: Hold Up + L + R for 5 seconds
- 8bitdo N30 Modkit: Hold Up + Select for 5 seconds
- 8bitdo M30 Bluetooth: Hold Up + Select for 5 seconds
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up Retro-Bit controller in Xinput mode (Home + X) (Only Xinput mode supported!!)
- If done properly 2 LEDs will flash.
- LEDs will stop flashing on controller once pairing is complete and rumble will trigger.
- Simply press Homeon controller and it will reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power on controller by holding B and then pressing the Steam button.
- Logo will stop blinking on controller once pairing is complete.
- Simply press Steam button to power on controller and it will reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power on adapter by holding Home + Minus simultaneously until LED start blinking fast.
- LED will stop blinking once pairing is complete.
- Simply press Home button to power on adapter and it will reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up Brawler64 by holding sync button until LEDs move in a up/down pattern.
- LED will stop blinking once pairing is complete.
In this mode the controller will mock an Xbox controller and can't be uniquely identified. As such you need to load the RetroFighters Brawlers64 Xinput preset.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up Brawler64 by holding both B & sync buttons until LEDs 1 & 4 start blinking.
- LED will stop blinking once pairing is complete and LEDs 1 & 4 will be on to indicate Xinput mode.
- Simply press any button a few time to power it on and it will reconnect to BlueRetro.
The controller will mock an Xbox controller and can't be uniquely identified. As such you need to load the Exlene GameCube preset.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up the Exlene controller by holding Y + Home simultaneously until LED start blinking fast.
- LED will stop blinking once pairing is complete.
- Simply press Home button to power on Exlene controller and it will reconnect to BlueRetro.
- Boot up BlueRetro and make sure adapter is in inquiry mode (LED pulsing)
- Power up the Exlene controller by holding Y + Home simultaneously until LED start blinking fast.
- LED will stop blinking once pairing is complete.
- It's important to press the A button to power on the Admiral controller as it's select the default internal mapping of the controller.
It will reconnect to BlueRetro after doing so.
-
RE notes
- ESP32 RTOS + Bare Metal: Best of Both Worlds?
- Learning Bluetooth Classic (BR/EDR) with HCI traces
- Xbox One Adaptive controller
- Evolution of SEGA's IO Interface from SG-1000 to Saturn
- Famicom & NES controller shift register: Parallel-in, Serial-out
- SNES 2P & Super Multitap
- PlayStation & PlayStation 2 SPI interface
- 3DO interface
- PC-FX interface
- CD-i interface
- PCE & TG16 interface
- Jaguar Interface
-
Deprecated content