STM32 DFU-driver fix en USB-doctor voor flight controllers
Als een flight controller niet wordt gevonden, komt het bijna altijd door een van deze vier dingen: een oplaadkabel, het board in de verkeerde modus, een ontbrekende of verkeerde driver zoals de STM32 DFU-driver op Windows, of een machtiging die het besturingssysteem nog niet heeft gegeven. Deze pagina loopt elk punt na, met de Windows-fixes die piloten gebruiken (ImpulseRC Driver Fixer en Zadig) en wat je op macOS, Linux en Android controleert.
Op Android bevat de FlySpark-app een USB- en DFU-doctor. Die toont elk USB-apparaat dat de telefoon ziet, wat het is (flight controller, board in DFU-bootloadermodus, USB-serialadapter, zender) en wat je daarna doet. Android heeft geen drivers nodig; de doctor richt zich op wat wél misgaat: kabels, OTG, machtiging en boardmodus.
Deze tool draait in de FlySpark-app voor Android. De demo werkt in je browser.
- Gratis
- Demo zonder hardware
In het kort
De STM32 DFU-driver laat een computer een flight controller flashen in bootloadermodus (USB-ID 0483:DF11). Op Windows fix je dat met Zadig of ImpulseRC Driver Fixer. Op Android is geen driver nodig; FlySparks USB- en DFU-doctor laat zien wat de telefoon detecteert en wat de volgende stap is.
Kernfeiten
- Een board in DFU-modus verschijnt als STM32 BOOTLOADER (0483:DF11); draaiende firmware als virtuele COM-poort (0483:5740).
- Op Windows vereist DFU-flashen de WinUSB-driver op STM32 BOOTLOADER, geïnstalleerd met Zadig of ImpulseRC Driver Fixer (Betaflight-documentatie).
- Op Linux vereist serial-toegang de dialout-groep en DFU-flashen een udev-regel voor 0483:df11 en 2e3c:df11 (Betaflight-documentatie).
- FlySparks USB- en DFU-doctor herkent 16 vendor:product-ID's, waaronder STM32-, AT32- en GD32-DFU-bootloaders, CP210x-, CH340-, CH9102- en FTDI-adapters, ESP32-S3/C3 en EdgeTX-zenders.
- Elk apparaat met een DFU-interface wordt als bootloader getoond, ook als de ID niet in de lijst staat.
- Voorgestelde fixes: datakabel, OTG-adapter, board alleen via USB voeden, BOOT ingedrukt houden bij aansluiten, of bl in de CLI typen.
- De doctor draait in de FlySpark Android-app; een demo met gesimuleerde apparaten in de browser.
Betaflight
INAV
ArduPilot
PX4- BLHeli_S
Bluejay
AM32
ExpressLRS
EdgeTX
DroneCAN
MAVLink
FlySpark
Functies
- 01
Alles op USB, benoemd
Elk apparaat staat met vendor- en product-ID, fabrikant en productnaam, chippfamilie en wat het voor FlySpark is.
- 02
Bootloaderdetectie
STM32-, AT32- en GD32-ROM-DFU-bootloaders worden op ID herkend; elk apparaat met DFU-interface verschijnt als Bootloader (DFU).
- 03
Machtiging in één tik
Apparaten die FlySpark nog niet mag gebruiken tonen ALLOW ACCESS, waarmee Androids machtigingsvenster opent.
- 04
Live bij in- en uitpluggen
De lijst ververst als je iets aansluit of loskoppelt, zodat je ziet hoe een board wisselt tussen draaiende firmware en DFU.
- 05
Zie je je apparaat niet?
Twee checklists, To configure en To flash, behandelen datakabels, OTG, voeding, de BOOT-knop en het bl-commando.
- 06
Direct naar het juiste gereedschap
Een board in DFU krijgt Open the firmware flasher; een zender of SD-kaart krijgt Open the EdgeTX radio tool.
- 07
Ook zenders en adapters
Herkent EdgeTX-zenders in serial-, storage- en joystickmodus, CP210x-, CH340-, CH9102- en FTDI-adapters, ESP32 USB en ST-Link-probes.
- 08
Demo in de browser
Zie hoe het een draaiend board, een board in de bootloader en een telemetriezender uitlegt, zonder iets aangesloten.
Waarom een flight controller niet wordt gevonden
Begin met de kabel. Veel USB-kabels bij laders dragen alleen stroom. De LED's van het board gaan aan, het lijkt alsof er verbinding is, maar computer of telefoon ziet geen apparaat. Gaat het board aan en verschijnt er niets in de lijst, probeer een kabel waarvan je weet dat die data doorgeeft.
Daarna de modus. Een STM32-flight controller heeft twee USB-identiteiten. Met draaiende Betaflight, INAV of ArduPilot verschijnt hij als virtuele COM-poort (op STM32-boards vendor 0483, product 5740), die configurators als serial openen. In de ROM-bootloader is het een ander apparaat, STM32 BOOTLOADER (0483:DF11), alleen voor flashers. Een configurator kan niet verbinden in bootloadermodus; een flasher kan niet schrijven terwijl firmware draait tot het board herstart.
Tot slot driver en machtiging. Elke identiteit heeft op Windows zijn eigen driver; een board dat prima configureert kan alsnog falen bij flashen. Op Linux en Android moet het apparaat toestemming hebben voordat een programma het opent.
De STM32 DFU-driver installeren op Windows
Desktopflashers in de Betaflight-familie praten via de WinUSB-driver met de bootloader. Heeft Windows geen driver voor STM32 BOOTLOADER, of heeft een andere driver het geclaimd, dan meldt de flasher geen DFU-apparaat of hangt hij bij herstart naar bootloader.
De snelste fix die de meeste piloten gebruiken is ImpulseRC Driver Fixer, een klein Windows-programma dat een aangesloten flight controller vindt en de benodigde drivers installeert. Helpt dat niet, zet het board in DFU, open Zadig, kies Options › List All Devices, selecteer STM32 BOOTLOADER, kies WinUSB als doeldriver en druk Replace Driver of Install Driver. Toont Apparaatbeheer de bootloader onder een andere naam, zoals Guillemot STM DFU Device, dan heeft andere software een driver geïnstalleerd: verwijder dat apparaat met het vinkje om de driver te wissen, koppel los en installeer WinUSB opnieuw.
Wijzig alleen de driver van het bootloaderapparaat. De virtuele COM-poort voor configureren werkt met de ingebouwde serial-driver van recente Windows-versies.
macOS, Linux en ChromeOS
macOS heeft geen driver nodig voor STM32 virtuele COM-poorten of DFU. Verschijnt een board niet, controleer kabel, USB-hub en modus.
Op Linux verschijnt het apparaat wel, maar een normale gebruiker mag het soms niet openen. Serial-poorten vereisen meestal lidmaatschap van dialout (daarna uit- en weer inloggen); DFU-bootloaders een udev-regel voor vendor 0483 product DF11. De Betaflight-documentatie geeft de regel om toe te voegen.
Op een computer opent FlySparks webversie de serial van de flight controller via de browser (Chrome of Edge), met dezelfde serial-regels. Flashen gebeurt niet in de webversie.
Android: geen driver, wel OTG en machtiging
Android praat met STM32 virtuele COM-poorten, DFU-bootloaders en gangbare USB-serialchips zonder driver. Wat kan tegenhouden is de OTG-koppeling en het machtigingsvenster. Gebruik een OTG-adapter of een USB-C-naar-USB-C-datakabel; sommige telefoons hebben een USB OTG-schakelaar in de instellingen. Bij aansluiten vraagt Android of FlySpark het apparaat mag gebruiken. Heb je het venster weggeklikt, toont de USB- en DFU-doctor ALLOW ACCESS om opnieuw te vragen.
Voeding kan ook verwarren. Een board dat tegelijk via vluchtaccu en USB wordt gevoed, start soms niet schoon op als je de kabel opnieuw aansluit; de checklist van de doctor adviseert de accu los te koppelen, alleen via USB te voeden en opnieuw aan te sluiten.
Een board in DFU-bootloadermodus krijgen
Er zijn twee manieren. Vanuit draaiende firmware: het CLI-commando bl van Betaflight (INAV gebruikt dfu) herstart naar de bootloader, en FlySparks firmwareflasher stuurt dat voor je. Met stroom uit: houd BOOT ingedrukt (of verbind de BOOT-pads op boards zonder knop) terwijl je USB aansluit, laat daarna los. Op Android bevestigt de USB- en DFU-doctor het: de kaart wordt Bootloader (DFU) met de chippfamilie, bijvoorbeeld STM32 ROM DFU.
Een board dat in bootloadermodus blijft, laat zich niet configureren. Kan de configurator na flashen niet verbinden, koppel los en sluit opnieuw aan zonder BOOT ingedrukt te houden.
In één oogopslag
Apparaten die de USB- en DFU-doctor herkent
| 0483:DF11 | STM32 ROM DFU-bootloader |
|---|---|
| 2E3C:DF11 | AT32 ROM DFU-bootloader |
| 28E9:0189 | GD32 ROM DFU-bootloader |
| 0483:5740 | STM32 virtuele COM-poort (flight controller of zender in USB Serial-modus) |
| 2E3C:5740 | AT32 virtuele COM-poort |
| 10C4:EA60, 1A86:7523, 1A86:55D4 | CP210x-, CH340- en CH9102 USB-serialadapters |
| 0403:6001, 0403:6015 | FTDI FT232- en FT230X-adapters |
| 303A:1001 | ESP32-S3 / C3 USB (ExpressLRS-hardware) |
| 1209:4F54, 0483:5720, 0483:5710 | EdgeTX / OpenTX-zender, SD-opslag van zender, joystickmodus |
| 0483:3748, 0483:374B | ST-Link V2- en V2-1-debugprobes (niet gebruikt door FlySpark) |
| Elk ander apparaat met DFU-interface | Getoond als Bootloader (DFU) |
| Platform | FlySpark Android-app; demo met gesimuleerde apparaten in browser en app |
Vergelijken
Wat elk systeem nodig heeft voor een flight controller
| Functie | Windows | macOS | Linux | Android met FlySpark |
|---|---|---|---|---|
| Virtuele COM-poort (configureren) | Ingebouwde serial-driver op recente Windows | Geen driver | dialout-groep | Geen driver, toegang toestaan |
| STM32 BOOTLOADER (flashen) | WinUSB via ImpulseRC Driver Fixer of Zadig | Geen driver | udev-regel | Geen driver, toegang toestaan |
| Datakabel nodig | Ja | Ja | Ja | Japlus OTG |
FlySpark
Uitzoeken waarom een flight controller niet wordt gevonden
Wissel de kabel
Gebruik een kabel waarvan je weet dat die data doorgeeft; veel oplaadkabels niet.
Controleer de modus
Draaiende firmware verschijnt als serial; DFU-modus als STM32 BOOTLOADER. Configureer in de ene, flash in de andere.
Fix driver of machtiging
Installeer WinUSB voor de bootloader op Windows; voeg machtigingen toe op Linux; sta FlySpark-toegang toe op Android.
Check met de USB-doctor
Open op Android de USB- en DFU-doctor om precies te zien wat de telefoon detecteert.
Gids 01
Een flight controller checken met de USB- en DFU-doctor
In de FlySpark-app op Android.
Open Tools en kies USB and DFU doctor.
Sluit de flight controller met een OTG-kabel of -adapter aan op de telefoon.
Lees de kaart: Flight controller betekent draaiende firmware; Bootloader (DFU) betekent klaar om te flashen.
Toont de kaart ALLOW ACCESS, tik en accepteer Androids prompt.
Verschijnt er niets, kies To configure of To flash onder Not seeing your device? en doorloop de stappen.
Voor een board in DFU, tik Open the firmware flasher.
Gids 02
STM32 BOOTLOADER fixen met Zadig op Windows
Voor desktopflashers die geen DFU-apparaat melden.
Houd BOOT ingedrukt en sluit de flight controller aan op de computer, zodat hij in DFU start.
Open Apparaatbeheer en bevestig dat STM32 BOOTLOADER (of een onbekend apparaat) verscheen.
Start Zadig, kies Options › List All Devices en selecteer STM32 BOOTLOADER.
Zet de doeldriver op WinUSB en druk Replace Driver of Install Driver.
Koppel los, ga opnieuw naar DFU en probeer opnieuw te flashen.
Gids 03
Een oplaadkabel uitsluiten
Een snelle test vóór alles.
Sluit de kabel aan op telefoon of computer en op een apparaat dat via USB werkt, zoals een andere telefoon, en controleer of het verschijnt.
Gebeurt dat niet, is de kabel oplaad-only of beschadigd. Gebruik een datakabel.
Met de FlySpark-app op Android en de USB- en DFU-doctor open, sluit de flight controller aan: geen kaart terwijl de LED's branden wijst op kabel of OTG.
Problemen oplossen
Veelvoorkomende problemen en oplossingen
Probleem
Board gaat aan maar nergens verschijnt een apparaat
Oplossing
Oplaad- of beschadigde kabel, of een losse USB-poort op het board. Probeer een bekende datakabel en een andere poort.
Probleem
Betaflight toont no connection found of geen poort om te kiezen
Oplossing
Het board biedt geen serial: check de kabel, zorg dat het niet in bootloadermodus vastzit, en controleer op Windows Apparaatbeheer op STM32 Virtual ComPort.
Probleem
Flasher meldt geen DFU-apparaat op Windows
Oplossing
Installeer WinUSB voor STM32 BOOTLOADER met ImpulseRC Driver Fixer of Zadig.
Probleem
STM32 BOOTLOADER wordt steeds Guillemot STM DFU Device
Oplossing
Verwijder het Guillemot-apparaat inclusief driver en installeer WinUSB opnieuw met Zadig.
Probleem
Doctor toont ALLOW ACCESS
Oplossing
FlySpark heeft nog geen machtiging. Tik ALLOW ACCESS en accepteer Androids prompt.
Probleem
Doctor toont Bootloader (DFU) maar configurator verbindt niet
Oplossing
Het board zit in de bootloader. Flash het, of koppel los en sluit opnieuw aan zonder BOOT.
Probleem
Doctor toont Game controller
Oplossing
Dat is een zender in joystickmodus. Koppel los en kies USB Serial (VCP) of USB Storage op de zender.
Probleem
Doctor toont Unknown device met Hidden op de Connect-pagina
Oplossing
FlySpark herkent de ID niet. Het kan nog als serial werken: zet Show all devices aan op de Connect-pagina en probeer.
Probleem
Could not list USB devices
Oplossing
Android weigerde de USB-query. Koppel los, sluit de doctor en open opnieuw, en sluit weer aan.
Woordenlijst
Begrippenlijst
- DFU
- Device Firmware Upgrade, de USB-modus waarmee de ingebouwde STM32-bootloader firmware ontvangt.
- VCP
- Virtuele COM-poort: hoe een flight controller met draaiende firmware op USB verschijnt, als serial-poort.
- VID:PID
- Het vendor- en product-ID-paar dat elk USB-apparaat meldt, bijvoorbeeld 0483:DF11.
- WinUSB
- Generieke Windows USB-driver waarmee programma's direct met een apparaat praten; wat desktop-DFU-flashers nodig hebben.
- Zadig
- Windows-hulpprogramma om WinUSB- of libusb-drivers op een gekozen USB-apparaat te installeren.
- ImpulseRC Driver Fixer
- Windows-hulpprogramma dat de drivers installeert die een aangesloten flight controller nodig heeft.
- USB OTG
- On-The-Go: laat een telefoon als USB-host fungeren, zodat een flight controller erop kan.
- ROM-bootloader
- In de STM32-chip ingebouwde fabriekscode. Die kan niet gewist worden, daarom is een board bijna altijd opnieuw te flashen.
FAQ
Veelgestelde vragen
Wat is de STM32 DFU-driver?
De driver die Windows gebruikt voor een STM32-board in bootloadermodus. Desktop-Betaflight-flashers hebben WinUSB op het STM32 BOOTLOADER-apparaat nodig; ImpulseRC Driver Fixer of Zadig installeert die.
Heb ik Zadig of ImpulseRC Driver Fixer nodig op Android?
Nee. Android heeft geen USB-drivers nodig. Sta FlySpark toe het apparaat te gebruiken wanneer gevraagd.
Kan FlySpark mijn Windows-drivers fixen?
Nee. FlySparks USB- en DFU-doctor draait op Android. Gebruik op Windows ImpulseRC Driver Fixer of Zadig zoals hierboven.
Waarom gaat mijn flight controller aan maar verbindt hij niet?
Meestal een oplaadkabel. Anders kan het board in bootloadermodus zitten, of ontbreekt driver of machtiging.
Waarom kan Betaflight na flashen niet verbinden?
Het board kan nog in de bootloader zitten. Koppel los en sluit opnieuw aan zonder BOOT ingedrukt te houden.
Hoe zet ik mijn flight controller in DFU-modus?
Houd BOOT ingedrukt terwijl je USB aansluit, of typ bl in de Betaflight-CLI (dfu in INAV). FlySparks firmwareflasher stuurt dat commando voor je.
Hebben serial-adapters zoals CP2102 of CH340 drivers nodig?
Op Android met FlySpark niet. Op een computer hebben sommige systemen de driver van de chipfabrikant nodig.
Werkt de USB- en DFU-doctor op iPhone?
Nee. iPhone-apps zien geen USB-apparaten zoals flight controllers. Het is een Android-tool; de browser toont een demo.
Wat betekent Hidden op de Connect-pagina?
FlySpark herkent de ID van het apparaat niet en de Connect-pagina verbergt het. Zet daar Show all devices aan om het toch te proberen.
Mijn zender verschijnt als game controller. Waarom?
Hij staat in joystickmodus. Koppel los en kies USB Serial (VCP) of USB Storage op het scherm van de zender.
Kan een board in DFU permanent gebrickt raken?
Zelden. De STM32 ROM-bootloader kan niet gewist worden; BOOT ingedrukt houden brengt je bijna altijd terug naar DFU om opnieuw te flashen. Boards met read protection hebben eerst een computertool nodig om die te wissen.
Referenties
Bronnen
De officiële documentatie achter de achtergrondfeiten op deze pagina.
- USB FlashingBetaflight · betaflight.com
- Firmware InstallationBetaflight · betaflight.com
- Zadig - USB driver installation made easyAkeo Consulting · zadig.akeo.ie
- Firmware Flasher TabBetaflight · betaflight.com
- USB host overviewAndroid Developers · developer.android.com





