8bitdo SN30 Pro bluetooth/USB connection issues
-
If you already paired the controller via Bluetooth, I think it will automatically pair even if you're connecting it wired and that's why you get 2 gamepads detected.
Remove the Bluetooth pairing, then configure it as wired, then pair it again via Bluetooth. -
@mitu thanks! I will try that.
-
Update- the 8bitdo sn30 pro bluetooth does not connect via usb cord even when there is no bluetooth profile for the sn30 controller saved. I tried with a friend's 8bitdo sn30 pro contoller (which was never set up with a bluetooth address on my raspberry pi) and had the same experience- when the controller was connected to the usb cord and the usb cord was connected to the rasbpi, emulation station would say it sees two controllers but when it said press the a button to start configuring on the controller, nothing happened.
I suspect the 8bitdo sn30 pro bluetooth controllers are not designed to connect to devices via usb. I cant get the controllers to connect to windows via usb for normal use but i can get them to connect bia bluetooth. I can get them to connect to usb when they are in flash update mode to update their firmware, but this seems to be the only time i can get them to be connected to a device using the usb cable.
I sent an email to 8bitdo to see if the sn30 pro controllers are suppose to connect to raspberry pi/retropie via usb. If i heard back I'll post what i hear.
If anyone has any suggestions please pass them on. Thx!
Dave
-
@DavidDraper I use my sn30 pro exclusively wired with my pi 4, as the pi's bluetooth can never find it when I look for it. Have you tried different modes with the controller? I use mine with dinput through wired and have not had any issue with it.
I have also updated mine to the latest version, have you tried that as well?
-
@brandflake11 I know how to change the interface type when the controller is in bluetooth mode, but not in usb mode. Is it the same process, holding start and a letter key? I have tried this a few times before plugging in the controller to the cord, after i plug in the cord, after i plug the cord into the raspberry pi/pc, etc, and it never seems to make a difference.
David
-
@brandflake11 i have updated my firmware on my controller.
Dave
-
Changing the mode is the same as in wireless. You change by pressing abxy with start (I also think holding a face button and then pressing start is more accurate to how it works, although 8bitdo's documentation says otherwise). Once it starts flashing you can just plug it in and it will be in the mode you set it to before you plugged it in. You can really tell what mode it is in on a linux pc as xinput will show as an xbox 360 controller, and dinput will show up as an 8bitdo controller. Also, the controller only works with macos with the macos mode, and android will switch the button layout of the controller if it is in switch mode.
Let me know if you have any other questions or anything and I can test things or help you out!
-
@brandflake11 Thanks very much. The process you describe is not in the instructions sheet that came with the controller.
What I did that worked:
- start with a powred off 8BitDo SN30 Pro controller with no USB cord attached.
- RetroPie up and running on the RaspberryPi.
- press "X" and then "Start" to turn the 8BitDo SN30 Pro controller on.
- the first two left-most LED lights on the bottom of the controller begin to flash.
- hold down "B" and "Start" to switch the controller to D-Input mode.
- the first two left-most LED lights on the bottom of the controller with stop flashing shortly.
- when the first two left-most LED lights on the bottom of the controller stop flashing,
- hold down "B" and "Start" again.
- the left-most LED light will begin to flash
- plug the USB cable into the controller and the RaspberryPi
- the left-most LED light will shine solid.
- RetroPie will recognize the controller.
- configure the controller; because it is configured to D-input, the .cfg file will be named 8Bitdo SF30 Pro 8Bitdo SN30 Pro, which is unlikely to conflict with any other controller cfg files you have on your system.
Not sure why this isn't documented in the instructions sheet for the controller; I don't know how someone would guess their way to this process.
If you see something that works better, please post it. Thanks very much for your help!
David
-
With more tinkering, I realized I skip steps 3 & 4 above, and can turn on the controller with "B" and "Start", and then plug in the USB controller to Raspberry Pi and it works just as well.
David
-
Yes, you don't have to do the x+start thing to turn on the controller. It will remain in whatever mode that you left it in.
Also, another thing you might like: if you want to keep it in the mode you left it in last, just press the start button and it will turn on in its last used mode.
-
@brandflake11 nice- thanks for that last piece of info.
Dave
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.