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.