Having trouble connecting your FC to Betaflight on a computer, or flashing FC firmware? Very often it’s caused by flight controller driver (either missing driver or the wrong driver is installed). This tutorial hopefully can help you fix it in a few simple steps.
Table of Contents
Failed to open serial port
This is perhaps the most common issue when connecting to or flashing a flight controller in Betaflight Configurator.
Failed to open serial port
First thing to try would be a different USB cable, make sure it’s a data cable, not a charging-only cable.
If that didn’t work, try running the ImpulseRC Driver Fixer.
- Connect your FC to the computer via USB Cable
- Download and run ImpulseRC Driver Fixer Tool here (Warning: it’s a 3rd party software, please scan it with AV software before running it)
- This tool will automatically search for your FC, and install whatever driver you need on your computer.
Once that’s completed successfully, fire up Betaflight Configurator and try to connect to or flash your flight controller and it should work.
Wrong DFU Driver Installed
You need to enter DFU Mode for flashing firmware, see how to do it here: https://oscarliang.com/dfu-mode/
If you can connect to the flight controller, but unable to flash firmware and it gives you the “Failed to open serial port” error even after running the ImpulseRC driver fixer, it’s possible that you have a wrong DFU driver installed e.g. “Guillemot STM DFU Device“. The correct DFU driver should be “STM32 BOOTLOADER“.
To find out if this is the case:
- Put your FC in bootloader mode (aka DFU mode, to do this, power off the FC first by unpluging USB cable and LiPo, hold down the boot button on the FC, then plug in the USB cable)
- Go to Device Manager and see if you can find “Guillemot STM DFU Device” under any Device Type, e.g. “Sound, Video and Game Controller”
- If it’s there, congratulations you have found the problem! It’s the wrong driver
When re-installing driver with Zadig or ImpluseRC driver fixer, it would show up as “STM32 BOOTLOADER” but would then it would always revert back to “Guillemot STM DFU Device”.
To fix this you have to remove Guillemot first:
- Delete these 2 folders:
- C:\Program Files\Guillemot
- C:\Program Files(x86)\Guillemot
- With your FC connected to the computer in bootloader/DFU mode, go to Device Manager, find Guillemot STM DFU Device, right click it and Uninstall it, make sure to check “uninstall driver”
- Now unplug the FC and reboot your computer
- Put your FC in bootloader mode again and run ImpulseRC driver fixer, in Betaflight Configurator’s COM port, it should now show up as “STM32 BOOTLOADER” and it should allow you to flash firmware now
Can’t Get Into DFU Mode
If there’s no way you can get into DFU mode to flash firmware, and driver doesn’t seem to be an issue, then you should try disconnecting everything from the flight controller. Such as receiver, GPS etc, everything that uses the UART. Also disconnect everything that takes 5V power from the FC.
How to Install Driver On MacOS
Driver installation on a Mac is different.
Download the CP210X driver for MacOS, and install that.
During the install your Mac won’t allow you install it because it’s an unauthorised app. Go into SYSTEM PREFERENCES, then SECURITY & PRIVACY, then unlock using padlock at the bottom left, then click (some users are not able to unlock the disk) ENABLE USERS. Then enable SiLabs. Restart your Mac.
Once installed, you need to go back to the same place to allow unauthorised application, Silabs in this case.
Nothing Works?
I had one computer that was never able to flash Betaflight firmware. It connected to Betaflight just fine, but just couldn’t flash. I tried everything, different cables, installed all the possible firmware, tried many things over the course of 6 months to no avail.
If you have a computer like that, just use the Speedybee APP on your smartphone (learn more here). You can change settings and flash firmware just like the computer software.
For android phones, the cheapest way to connect to the Speedybee app is using a OTG cable: https://amzn.to/3kXAWsu (product page, affiliate link). But you can also use the Speedybee Adapter 3 and connect through WiFi.
If you have an iPhone (also works for android phones) which doesn’t support OTG, then your only option is to get the Speedybee adapter: https://oscarliang.com/product-k74v
AT32 Flight Controllers
When you first plug an AT32 flight controller into your PC, Windows normally installs the drivers automatically, and Betaflight should be able to connect to it after a few seconds. In the COM Port it should show “AT32 Virtual COM Port”. If this is not the case, you can download and install the drivers manually:
- Go to the MCU page: https://www.arterychip.com/en/product/AT32F435.jsp
- In the “USB Tool and Driver” section , download “Virtual serial port composite PC driver”: https://www.arterychip.com/download/USB_Tool_Driver/VirtualCOM_Composite_DriverInstalll_V1.0.31.zip
AT32 FC also requires different DFU drivers. Again this might be installed automatically but if not you can do it manually.
- Go to the page of the microcontroller concerned, therefore the AT32F435: https://www.arterychip.com/en/product/AT32F435.jsp
- In Resources, then “Tool” at the bottom of the page, download “In-System-Programming tool supporting AT32 MCU”: https://www.arterychip.com/download/TOOL/Artery_ISP_Programmer_V2.0.11.zip
- Unzip and enter the “Artery_DFU_DriverInstall” directory to launch the installer. Start the installation then restart the PC
FAQ
I am having problem flashing the board, I’ve tried everything, and DFU is displayed in the Configurator COM port, but it’s just not flashing and i get the following message: “Read protection not active. USB device successfully closed”.
Try to un-select “Full chip erase” option before flashing, and you could “erase settings” in CLI after the firmware flashing. Type “Default” in CLI to reset all settings.
Edit History
- Jul 2017 – Article created
- Aug 2017 – added fix for CP2102 missing driver
- Feb 2023 – added fix about replacing Guillemot driver with STM32
38 comments
I had to disconnect the Walksnail VTX from the Crazy F405HD FC in my Mobula 8 to flash from BTFL 4.3.2 to 4.4.2
I unsoldered the ground wire and used the CLI command to get into DFU mode. Thanks!
Well I am facing an issue with ftdi adapter. My usb broke on the speedybee f405 v3 and now I wanted to try out bf 4.5.
When the fc gets into DFU mode it is not recognised by the pc. Other than that in nirmal mode it connects perfectly fine and I can adjust everything in Betaflight.
I was having issues with flashing new firmware with a new build using Iflight Blitz F435 which has the MCU: AT32F435CGU7. I TRIED EVERYTHING and almost gave up. I Download this driver for the AT32 FC’s and it fixed my problem. I still have the issue of my DJI controller 2 not connecting to FC. The same DJI 03 unit works with the controller 2 on my other drones. Not sure what the issue is. All the SBUS protocols are the same as my other drones in Betaflight. If anybody has advise on getting it to work, please let me know. Thanks for all your hard work Oscar!
I had difficulties getting the ImpulseRC Driver to work (“unexpected number of devices detected” error message), the trick was to plug in the USB cable, then wait until the FC went into wifi mode (rapidly flashing LED), then run the program.
if you have 2 programs running on one comport clean flight used for flashing,it will not flash
I bought an Eachine Wizard X220 (not X220s) drone. It’s my first FPV racer, and I just can’t get the FC to connect to my PC. I’ve tried different cables and the Impulse RC software, but it doesn’t find my FC. Please help.
Do you have an Android phone? Try the Speedybee app, and connect the FC to your phone via OTG: https://oscarliang.com/fpv-app/
None of this worked for me. I think flight controllers hate me.
You are my new best friend, that impulse driver fixer worked. I bought 3 speedybee f405 fc and one right after another it flashed them all. Thank you so much.
I have problem with my speedybee F405 wing, able to connect DFU mode, and flash firmware. But after 2 minute disconnected. And I connect it again, not showing any port.
I’m using macbook, i try using other FC, it can connect normally.
Could you help me oscar!!
Do you have any devices connected to the Speedybee FC? Like receiver, GPS, etc? remove everything and try again?
I was about to get despirate until I found your article on the wrong STM bootloader for the SpeedyBee f405 wing using my Windows 11 pc. I followed your instructions to remove the Guillemot STM DFU Device, ant that worked.
Fantastic !!
That solved my problem, thank you very much Oscar. you are a legend :)
I was not able to enter DFU mode, the FC was not recognized on the PC without disconnected everything.
“disconnecting everything from the flight controller. Such as receiver, GPS etc, everything that uses the UART”
Hi i have fc spracing f3 acro but impulse rc can’t detect it and when i using zadig, it don’t work or connect to cleanflight. How to fix it pls?
does anything appear at all in Device Manager when you plug it into your computer? Do you hear any sound when plugging it in? If nothing new appears, and no sound, it’s likely that your computer isn’t detecting the FC. Maybe bad cable or the FC is toasted.
maybe try a different cable and make sure it’s 100% a data cable.
try it on a different computer if none of these work.
last resort would be connecting it to your android phone, or use the speedybee adapter if you have an iphone, I used this method when my new computer didn’t work (until i found a way to fix the driver issue).
Bro please help me… I got wrong when using zadig. So now my fc cannt read by Betaflight. The fc read by PC its like flashdisk. Please help mee
Hello, I have downloaded and installed all of the drivers. I just went in using Zadig tool and updated the serial bus device on my windows device and was successful but I am getting the same message i got before (STM32 – timed out, programming: FAILED). I have also tried to use the impulse RC but it just searches and never finds my FC. Can anyone help me out??
I have Mamba F405 mk2 and I have problem in BetaFlight because when I change any option an wont to save an reeboot BF freezing and anything happend? Whtat can be? On other newer laptop it’s work well, maybe my PC is broken, haw can I repair?
Yaa I have also mamba f4 mk2 FC it doesn’t connect to betaflight , I have spent 1 day to fix the Driver but it didn’t connect. Does anyone have any solution for mamba f405 mk2 FC. Even it doesn’t Detect by Computor it directly goes to DFU mode.
Has anyone seen the DFU mode open the USB port and close it without installing the firmware?
The INAV message log is
2019-10-11 @ 12:54:04 — USB device successfully opened with ID: 1
2019-10-11 @ 12:54:04 — USB device successfully closed
So nothing happens!!
File is
arduplane_with_bl.hex
I believe all the drivers are correct,
The STM32 BOOTLOADER shows on the Device Manager (Windows 10)
I can connect to the FC via the Com port as usual.
The FC is the new Matek F765 Wing.
I want to flash ardupilot.
Its like mine now. Si what the solution bro???
Hello
My flight controller diatone mamba f405 is not showing any sensor on board after I flashed the firmware with STM32F405 firmware. What could be the problem?
Had to comment to say thank you !!
HI,
My Diatone GT M3 V2 won’t connect to Betaflight or let me flash the firmware. When I connect the battery it beeps 3 times only, not 5 as it should. Please, I’ve been looking for an answer to this for hours and hours.The FC appears to work because it has its green light on, steady. I use a Mac laptop so I don’t think is a matter of drivers. Please give some some advice to fix this. Thank you!!
So I’m having an issue I’ve never seen and cannot seem to find a solution. My FC shows up fine at com5, and I can start the connection. It just says connecting for a moment, saying successfully serial port successfuly opened then changes to successfully closed. Everything is brand new, this is a first time setup on this quad.
Hi I’m having the same issue with both of my Rekon 5’s atm. Did you find a solution?
Thank you very much for this tutorial, I had been looking for a solution to my problem for a long time.
I have a dys f4 pro v2
Greetings from Spain
i get an error 99 on impulse rc fixing tool :-\
I have all the same issues. But after reading this I don’t feel so bad. The mamba FC I just purchased is the problem because this FC came with a type C usb on it. No matter what I do my laptop will not recognize it. I’ve been in device manager and all through my system nothing I do will work on that FC.
The Impulse Driver Fixer works! Spent hours looking for a solution. Thanks!
My FC won’t connect after a hard impact that broke the nylon standoffs. When I plug it into USB all windows does is make the ‘usb connection’ sound over and over. I can connect with my other quads. Is the FC cooked? The original 4 in 1esc is good and being used, but I wanted to try and salvage the FC if possible. I’ve even tried shorting the boot pins but nothing.
I have tried using Zdaig and when I try and replace the USB drivers I get the error:
Drivers already installed.
My spf3 wont talk to computer anymore after flashing. My other quads all still connect fine. Is my usb on fc cooked??
Hi, I’ve done all this, when I plug the FC board into my computer with a good cable windows recognizes it, but none of the configurators will show it.
What am I doing wrong?
I’m using impulse RC and I instaled before a lot of usb drivers. Now when I simply want to connect another FC board, there’s the “failed to open serial port” . I’m using Impulse RC at every connections with new FC board and it works! Is it normal to use it every time? Conflict with USB?
thank you for this post oscar!! saved my betaflight f3 board…..fkin drivers :/
Might be worth mentioning that if COM port doesn’t show up after flashing the FW, you might need to install the STM32 VCP drivers.
Another thing that I’ve experienced is conflicts in COM ports with other USB-to-serial drivers (Prolific, FTDI, etc.) so it might be worth removing those if you’re having trouble.
thank you David, that’s excellent advice !