Betaflight Said “No Compatible Devices”. Here’s What It Means
Share
Quick Answer
If Betaflight cannot see your flight controller, start with a known data-capable USB cable and a direct USB port. In the web app, use a Chromium-based browser and choose I can’t find my USB device to grant access. Treat normal serial mode and DFU flashing mode as separate faults: they use different device entries and can need different fixes.
Start With the Error You Actually See
“No compatible devices found”, “failed to open serial port” and “STM32 BOOTLOADER” do not mean the same thing. Matching the message first is faster and safer than installing every driver you can find.
| What you see | What it usually means | What to do next |
|---|---|---|
| No lights and no new device in the operating system | No USB power, damaged socket or cable fault | Try a known data cable and another port. Inspect the flight controller’s USB socket for movement or damage. |
| Board lights up, but the computer detects nothing | Charge-only cable or failed USB data connection | Use a cable proven to transfer files. Remove adapters and docks while testing. |
| “No compatible devices found” in the web app | The browser has no serial device to offer, lacks Web Serial support, or has not been granted access | Use Chrome, Edge or another Chromium browser. Open the port menu, choose I can’t find my USB device, then select the controller in the browser dialogue. |
| A port appears, but “failed to open serial port” follows | Another program owns the port, or Linux permissions block it | Close serial monitors, Arduino tools, ESC software and other Betaflight windows. On Linux, check dialout membership and udev permissions. |
| “STM32 BOOTLOADER” or “DFU” appears | The controller is in firmware-upgrade mode | Use the Firmware Flasher. On Windows, repair the DFU driver with ImpulseRC Driver Fixer or Zadig only if the app cannot access it. |
| The connection opens but the configuration does not load | Wrong port, hidden HID serial device, incompatible app/firmware combination or damaged firmware | Try Show all serial devices, confirm app compatibility, then reflash only after the simpler checks fail. |
Fix “No Compatible Devices Found”
This message matters because the current Betaflight web app uses the browser’s Web Serial device picker. Firefox does not support Web Serial, so changing drivers will not make the picker work there. Use a Chromium-based browser, connect the controller, select I can’t find my USB device from Betaflight’s port menu, choose the device in the operating-system dialogue, then press Connect.
If that dialogue is empty, leave Betaflight open and check whether Windows Device Manager, macOS System Information or Linux lsusb changes when you unplug and reconnect the board. No change points back to the cable, adapter, socket or USB port rather than Betaflight. The USB-C connector on a SpeedyBee F405 V5 stack or Axisflying Argus ECO stack should not move relative to the board when the plug is gently touched.
Windows Drivers: Do Not Start With the Old STM32 Package
Betaflight’s current troubleshooting guidance says Windows 10 and later do not require the old STM32 VCP driver for a normal connection. Windows normally supplies the serial driver itself. If a normal COM device has a warning icon, identify the device before installing anything; separate USB-to-serial bridge boards may use a CP210x or CH340 driver, but the flight controller’s processor family alone does not prove which interface it uses.
ImpulseRC Driver Fixer is still useful when an STM32 controller will not appear correctly in DFU mode. Close Betaflight, connect only the controller, put it into DFU, then run the fixer. If it reports “unexpected number of devices detected”, disconnect other USB hardware that may expose a compatible bootloader and retry. Use Zadig as the manual fallback: select STM32 BOOTLOADER and replace its driver with WinUSB. Do not replace the driver for an unrelated COM device.
Normal Serial Mode vs DFU Mode
A normal connection opens Betaflight’s Setup, Ports and Configuration tabs. DFU is a low-level firmware-upgrade mode and appears as a DFU device rather than a normal serial port. Seeing DFU does not prove the firmware has been erased; you may have entered it deliberately by holding BOOT while connecting USB.
If the controller only returns to DFU after power cycling, use our Betaflight flashing walkthrough and select the exact target for the board in the Firmware Flasher. Do not guess a target from the processor name. Once flashing succeeds, unplug and reconnect without holding BOOT.
Fix “Failed to Open Serial Port”
When the port is listed but will not open, close every application that can claim it: another Betaflight tab, Arduino IDE, a serial terminal, ESC configurators and 3D-printer software are common examples. Then reconnect the controller and select the port again. A hub is not automatically wrong—Betaflight notes that hubs or OTG adapters sometimes help and sometimes cause trouble—but a direct port removes one variable.
On Linux, serial access normally requires membership of the dialout group; log out and back in after adding it. DFU access also needs suitable udev permissions. If the device appears and immediately disappears, investigate ModemManager before reflashing. On macOS, start with the operating system’s native USB support rather than installing an old STM32 package.
What We Would Do in Order
- Remove propellers, disconnect the LiPo and connect USB to the flight controller—not the VTX or radio.
- Try a known data cable and watch whether the operating system detects a new device.
- For the web app, use Chromium and grant the device through I can’t find my USB device.
- Close software that may own the serial port; on Linux, check permissions.
- Only then enter DFU and repair its Windows driver if the Firmware Flasher cannot access it.
- Reflash the exact board target, then continue with our flight-controller setup guide.
This order protects a working firmware installation from an unnecessary flash and separates a physical USB fault from a browser, permissions or DFU-driver problem. For replacement hardware, browse the verified flight-controller collection only after checking the socket and cable; a missing browser permission is not a dead board.
FAQ
Why does Betaflight say “No compatible devices found”?
The web app has no serial device it can offer. Use a Chromium-based browser, choose I can’t find my USB device, and grant access in the browser dialogue. If the dialogue is empty, confirm that the operating system detects the board.
Should I run ImpulseRC Driver Fixer first?
No. Check the data cable, browser access and normal serial port first. Use Driver Fixer mainly when a Windows computer cannot expose an STM32 controller correctly in DFU mode.
Does “STM32 BOOTLOADER” mean my firmware is gone?
Not by itself. It means the controller is in DFU mode. Flash only if it cannot return to normal serial mode or you intentionally need to update or recover the firmware.
Why does the serial port open but Betaflight show no configuration?
Check the selected port, enable Show all serial devices if HID joystick emulation hid it, and confirm that the Betaflight app supports the firmware version. Close other serial software before considering a reflash.
Do Linux users need a USB driver?
Usually not a product-specific driver. They do need permission to access serial and DFU devices, commonly through dialout group membership and udev rules.