8BitDo gamepad BLE mode for Pico W

Hello,

I would like to use the 8BitDo Zero 2 Bluetooth gamepad to connect to a Raspberry Pi Pico W.
The Pico W has Bluetooth Low Energy (BLE) support, so I’m wondering if it’s possible to set up the 8BitDo in pairing mode and connect it to the Pico W. I could not find if this gamepad does indeed support BLE mode.
Any more info on this would be great.
Thanks in advance.

1 Like

Hey @Timothy56227,

This controller uses Bluetooth 4.0, which contains support for BLE, so this should work for you. The Pico will be in charge of setting the Bluetooth mode to either standard or BLE.

So as long as your Pico is configured correctly, you should be able to connect this controller in BLE mode.

Cool! Thanks for clarifying Samuel.

1 Like

You can use a USB Bluetooth dongle that supports Bluetooth Classic. The Pico W has USB Host functionality, and you can use libraries like TinyUSB to interface with a USB Bluetooth adapter.

From what I have read, setting ControllerMode in main.conf applies to Linux systems (like a full-size Raspberry Pi running BlueZ, the Linux Bluetooth stack). I want to connect the 8BitDo Zero 2 Bluetooth gamepad, which may be possible in BLE mode, which the pico 2 w can do, hopefully as a central and the gamepad as the periphery. However, I was told now the official MicroPython build for the Pico W does NOT support BLE central mode. Is this true? Is this possible with these two devices to connect without any other hardware?

Hi @Timothy56227

The most current version of Micropython will support BLE Central mode on an original Pico W (Circuitpython currently doesn’t support BLE for the Pico W).

In theory the devices should be able to work together but it will definitely require some coding and troubleshooting to make it work.

Thanks @Dan , I haven’t gotten it to work yet, but learning more about BLE and central mode and discovering services etc. I have also tried with the FireBeetle (FireBeetle Board-328P with BLE4.1 | Buy in Australia | DFR0492 | DFRobot | Core Electronics), but I think the MicroPython option is not available with that. So far, this has been the best resource: Raspberry Pi Pico W: Bluetooth Low Energy (BLE) with MicroPython | Random Nerd Tutorials

I will report back again here if I can finally pair with the gamepad and read the controls from the pico.

1 Like

Hey @Timothy56227,

Thanks for the update! That looks like a great tutorial, thanks for sharing it with us.

Let us know how you get on with this one! :slight_smile: