8BitDo 64 Bluetooth Controller DFU/Bootloader

tl;dr: With the controller off, hold L+R and connect it via USB. This is different from other controllers, where you hold L(1)+R(1)+Start then connect it over USB after a red LED is shown.


In order to update the 8BitDo 64 controller from Linux, you first need to place it into its DFU mode, booting it into its bootloader. For most 8BitDo controllers, it’s said to hold L(1)+R(1)+Start for 3 seconds, wait for the red LED to be shown, then connect over USB. That does not seem to work with the 8BitDo 64. However following the FAQ on their “Ultimate Software V2” page:

What should I do if my device is not recognized?

[…]

While this is for a different controller, this works on the 8BitDo 64 as well: press L+R while the controller is off and connect it over USB while keeping the buttons held. If the controller is not off, you can hold down the Start button for several seconds until it turns off.

Unfortunately I figured that out after I dusted off a Windows machine, so I haven’t tried a full update from Linux yet, but I expect it will work once that’s done. I expect I’ll use franfermon/8bitdo_update the next time I need to update a controller, although I can’t comment on its efficacy as I’ve only updated with the official software.