Zadig Drivers for Cleanflight/BetaFlight STM32 Flight controllers (DFU Mode)

If you ever have any issues when connecting your STM32 based flight controller to your PC, chances are you are using the wrong drivers for your board. This commonly occurs when you try to connect to your board, or flash firmware and you get an error message saying failed to open serial port.

Update: It is much easier to use the ImpulseRC Driver Fixer tool to try that first**

The first issue is to first make sure you have the correct STM VCP drivers on your PC, you can download them from the ST website

Depending on your flight controller such as Lumenier LUX, or Omnibus F3, you might need to flash the firmware in DFU mode. This involves holding down the boot button on your flight controller when pluggin it in to enter bootloader mode, and selecting the DFU mode within cleanflight or betaflight GUI.

However you will most likely first need to change the virtual com port drives on your PC for the above to work. Fortunately there is a great peice of software called Zadig which you need to download and install onto your PC - download zadic here

  • Hold the Bootloader Button and connect the board to your PC via USB.
  • Open Zadig, choose Options > List All Devices
  • Select STM32 Bootloader, WinUSB
  • Click “replace driver” or “install driver”

Once that is done, and your board is connected in bootloader mode (by holding the boot button down) you should be able to select DFU within cleanflight/betaflight and you can flash the firmware onto your board!

If you are still having issues then it could just be that you have bricked your device so you will need to try a firmware recovery by shorting the boot pins while flashing, or using the STM32 Flash Loader tool to recover the firmware (search this site for a guide on how to do that if you are stuck). And if that fails, best to contact the shop you purchased the flight controller from as it could just be that you have a damaged board.

So I was finally able to flash my SP Racing F3 Mini on my mac after a gazillion attempts on my PC and my Ubuntu machine. But I still can’t connect on my PC Windows 7 machine and would like to do so. Can anyone provide a comprehensive guide for wiping the driver slate clean and starting over with drivers for cleanflight installation? There are three different downloads listed on the cleanflight page but not really clear if they got installed correctly, where they got installed and how to access them (manual selection of port?) from cleanflight. I am new to this but pretty familiar with most operating systems and have found the information pretty sparse and not very comprehensive out there.

With the board plugged in, go to your device manager and select the COM port the board is plugged into and simply uninstall the drivers there, cant recall off hand what the exact option is but its there under the properties menu.

For the F3 Evo you need to downlaod the STM VCP (virtual com port drivers) - http://www.st.com/web/en/catalog/tools/PF257938

Hi Greg,
would be great if you can tell me the exact steps on how to use betaflight on my ubuntu. I had no issues with Windows after installing the required drivers. Librepilot works fine on both OS.
I installed the VCP driver for Linux, but the other two mentioned drivers (Zadig, STM32) are Windows only.
I have an SPRACINGF3 board to connect.

Thanks,
Markus

Hi Markus,

I never did get that far- so I can’t tell you anything useful about using the configurators on UBUNTU. I have been able to connect to the SP Racing Mini F3 in Betaflight and Cleanflight. Also I have been using Raceflight CF for a Raceflight Revolt F4 and notice that you can install releases for many other boards there. Raceflight seems easier to connect to than the others.

Sorry I can’t be more help.

Greg

After many tries installing, uninstalling and try different way of installing the driver and version too, I cannot get DFU on Betaflight after installing WinUSB from Zadig. I was trying to flash SPRacing F3 EVO brush for micro. The board is detected as CP2104 USB. When I forced to update to STM, it gives me a ? mark. Then I do Zadig. Installation successful, but no DFU. That was one of many different way installing Zadig. Now when I connect to Betaflight, no DFU or COM appear. Any other idea?

1 Like

did you find any resolve for this problem ?
I have the same :frowning:

Not Yet.
I posted also on other forums, but no one have the solution.

Try the ReflexRC Driver fixer, you’ll find it on Google

I had the same issue! But i figured it out. You don’t need to do any of that driver nonsense. Load cleanflight and get your firmware ready and check no reboot sequence flash on connect full chip erase and manual baud rate @256000. Make sure your boot pins are soldered and then when you plug it in it auto flashes

Got same issue on Win10, looks like drivers not up to date found answer here - http://community.silabs.com/t5/Interface/cp210x-USB-to-UART-driver-problems-windows-10-code-31/td-p/146924

Google ImpulseRc Driver fixing tool. I had soo many issues with a couple of SPracing f3 evo’s and despite trying everything with Zadig had no luck. I’ve found this works a treat with all my boards,no need to solder any jumpers as it puts the board into DFU mode for you,just load it up,plug board in,and in one click its sorted. Just leave it plugged in then open Betaflight and flash away. I think it’s excellent,give it a try.

I cant find or get the stm32 in zadig what do i do.

Hello

I did that with Zadig. Could flash BetaFlight in DFU.
But now in non flash mode: Windows 10 does not recognize Flight Controller. No Comport available and it is not showing in Device Manager.
Board is a “Whoop PRO F3” withe from China.

How can I fix this?