Исправление драйвера STM32 DFU и USB/DFU doctor для контроллеров
Если полётный контроллер не определяется, почти всегда причина одна из четырёх: кабель только для зарядки, плата в не том режиме, отсутствующий или неверный драйвер (например STM32 DFU в Windows) или не выданное ОС разрешение. Здесь разобраны все варианты: типичные исправления в Windows (ImpulseRC Driver Fixer и Zadig) и проверки на macOS, Linux и Android.
В приложении FlySpark для Android есть USB and DFU doctor. Он перечисляет все USB-устройства, которые видит телефон, подписывает каждое (контроллер, плата в DFU, USB-UART адаптер, радио) и подсказывает следующий шаг. На Android драйверы не нужны — doctor сосредоточен на кабелях, OTG, разрешениях и режиме платы.
Этот инструмент работает в приложении FlySpark для Android. Демо открывается в браузере.
- Бесплатно
- Демо без оборудования
Коротко
Драйвер STM32 DFU нужен, чтобы прошить контроллер в режиме bootloader (USB ID 0483:DF11). В Windows помогают Zadig или ImpulseRC Driver Fixer. На Android драйвер не требуется; USB and DFU doctor в FlySpark показывает, что видит телефон, и что делать дальше.
Ключевые факты
- Плата в DFU отображается как STM32 BOOTLOADER (0483:DF11); с прошивкой — как виртуальный COM (0483:5740).
- В Windows для прошивки DFU на STM32 BOOTLOADER нужен WinUSB через Zadig или ImpulseRC Driver Fixer (документация Betaflight).
- В Linux для serial нужна группа dialout, для DFU — udev-правило для 0483:df11 и 2e3c:df11 (Betaflight).
- USB and DFU doctor в FlySpark распознаёт 16 пар vendor:product, включая DFU STM32, AT32, GD32, адаптеры CP210x, CH340, CH9102, FTDI, ESP32-S3/C3 и радио EdgeTX.
- Любое устройство с интерфейсом DFU показывается как bootloader, даже если ID не в списке.
- Подсказки: data-кабель, OTG, питание только по USB, BOOT при подключении или команда bl в CLI.
- Doctor работает в приложении FlySpark для Android; в браузере — демо с симулированными устройствами.
Betaflight
INAV
ArduPilot
PX4- BLHeli_S
Bluejay
AM32
ExpressLRS
EdgeTX
DroneCAN
MAVLink
FlySpark
Возможности
- 01
Всё на USB с подписью
Каждое устройство: vendor/product ID, производитель, имя продукта, семейство чипа и как его видит FlySpark.
- 02
Определение bootloader
ROM DFU STM32, AT32 и GD32 по ID; любой DFU-интерфейс — Bootloader (DFU).
- 03
Разрешение в одно нажатие
Устройства без доступа показывают ALLOW ACCESS — открывается запрос Android.
- 04
Обновление при подключении
Список обновляется при подключении и отключении — видно смену режима firmware/DFU.
- 05
Не видите устройство?
Чек-листы To configure и To flash: кабель, OTG, питание, BOOT и команда bl.
- 06
Сразу к нужному инструменту
Плата в DFU — Open the firmware flasher; радио или SD — Open the EdgeTX radio tool.
- 07
Радио и адаптеры
EdgeTX в serial, storage и joystick, адаптеры CP210x, CH340, CH9102, FTDI, ESP32 USB, зонды ST-Link.
- 08
Демо в браузере
Показывает работающую плату, bootloader и телеметрическое радио без подключения.
Почему контроллер не определяется
Начните с кабеля. Многие кабели только заряжают: светодиоды горят, но ПК или телефон устройство не видит. Если плата включается, а в списке пусто — попробуйте кабель, по которому точно идут данные.
Далее режим. STM32 имеет два USB-образа. С Betaflight, INAV или ArduPilot — виртуальный COM (0483:5740). В ROM bootloader — STM32 BOOTLOADER (0483:DF11) для прошивальщиков. Конфигуратор не подключится к bootloader, прошивальщик не пишет в работающую прошивку без перезагрузки.
Затем драйвер и разрешение. В Windows каждому образу нужен свой драйвер. В Linux и Android — разрешение на доступ.
Установка драйвера STM32 DFU в Windows
Desktop-прошивальщики семейства Betaflight общаются с bootloader через WinUSB. Без драйвера для STM32 BOOTLOADER или если устройство занято другим драйвером — «no DFU device» или зависание при reboot в bootloader.
Чаще всего помогает ImpulseRC Driver Fixer. Иначе: DFU, Zadig, Options › List All Devices, STM32 BOOTLOADER, WinUSB, Replace/Install Driver. Если в диспетчере Guillemot STM DFU Device — удалите устройство с удалением драйвера и установите WinUSB снова.
Меняйте драйвер только у bootloader. Виртуальный COM для настройки использует встроенный serial-драйвер Windows.
macOS, Linux и ChromeOS
macOS не требует драйверов для STM32 COM и DFU. Нет устройства — кабель, хаб, режим.
В Linux устройство видно, но пользователю может быть запрещён доступ: dialout для serial, udev для 0483:df11 (правило в документации Betaflight).
Веб FlySpark открывает serial в Chrome или Edge; те же правила. Прошивка в веб-версии не выполняется.
Android: без драйвера, но OTG и разрешение
Android работает с STM32 COM, DFU и USB-UART без драйверов. Мешают OTG и запрос разрешения. Нужен OTG или USB-C data; иногда переключатель USB OTG в настройках. При отклонённом запросе — ALLOW ACCESS в doctor.
Питание от аккумулятора и USB одновременно может мешать переподключению — doctor советует отключить батарею и питать только по USB.
Перевод платы в DFU
Два способа. Из прошивки: bl в CLI Betaflight (dfu в INAV); прошивальщик FlySpark отправляет команду сам. С выключенной платой: удерживайте BOOT при подключении USB. На Android карточка меняется на Bootloader (DFU) с семейством чипа, например STM32 ROM DFU.
В bootloader настройка не работает. После прошивки переподключите без BOOT.
Кратко
Устройства, которые видит USB and DFU doctor
| 0483:DF11 | STM32 ROM DFU bootloader |
|---|---|
| 2E3C:DF11 | AT32 ROM DFU bootloader |
| 28E9:0189 | GD32 ROM DFU bootloader |
| 0483:5740 | STM32 virtual COM (контроллер или радио USB Serial) |
| 2E3C:5740 | AT32 virtual COM |
| 10C4:EA60, 1A86:7523, 1A86:55D4 | CP210x, CH340, CH9102 |
| 0403:6001, 0403:6015 | FTDI FT232 и FT230X |
| 303A:1001 | ESP32-S3 / C3 USB (ExpressLRS) |
| 1209:4F54, 0483:5720, 0483:5710 | EdgeTX / OpenTX radio, SD, joystick |
| 0483:3748, 0483:374B | ST-Link V2 и V2-1 (FlySpark не использует) |
| Любой DFU interface | Bootloader (DFU) |
| Platform | FlySpark Android; демо в браузере и приложении |
Сравнение
Что нужно каждой системе
| Возможность | Windows | macOS | Linux | Android + FlySpark |
|---|---|---|---|---|
| Virtual COM (настройка) | Встроенный serial | Без драйвера | dialout | Без драйвера, разрешение |
| STM32 BOOTLOADER (прошивка) | WinUSB через ImpulseRC или Zadig | Без драйвера | udev | Без драйвера, разрешение |
| Data-кабель | Да | Да | Да | Да+ OTG |
FlySpark
Как выяснить, почему контроллер не определяется
Смените кабель
Используйте кабель с передачей данных; многие зарядные — только питание.
Проверьте режим
Прошивка — serial port; DFU — STM32 BOOTLOADER. Настройка и прошивка в разных режимах.
Драйвер или разрешение
Windows: WinUSB для bootloader; Linux: права; Android: разрешите FlySpark.
USB doctor
На Android откройте USB and DFU doctor и посмотрите, что видит телефон.
Гайд 01
Проверка контроллера через USB and DFU doctor
В приложении FlySpark на Android.
Tools → USB and DFU doctor.
Подключите контроллер через OTG.
Flight controller — работает прошивка; Bootloader (DFU) — готов к прошивке.
ALLOW ACCESS — примите запрос Android.
Пусто — To configure или To flash в Not seeing your device?
DFU — Open the firmware flasher.
Гайд 02
STM32 BOOTLOADER и Zadig в Windows
Когда desktop-прошивальщик не видит DFU.
BOOT + USB → DFU.
Диспетчер устройств: STM32 BOOTLOADER.
Zadig: List All Devices, STM32 BOOTLOADER, WinUSB, Replace Driver.
Переподключите в DFU и повторите прошивку.
Гайд 03
Исключить кабель только для зарядки
Быстрая проверка.
Подключите кабель к ПК/телефону и устройству с USB — должно появиться в списке.
Нет — кабель charge-only или повреждён.
FlySpark на Android с открытым doctor: LEDs горят, карточки нет — кабель или OTG.
Устранение неполадок
Частые проблемы и решения
Проблема
Плата светится, но устройства нигде нет
Решение
Charge-only кабель или плохой USB-порт на плате. Другой data-кабель и порт.
Проблема
Betaflight: no connection found
Решение
Нет serial: кабель, не застряли в bootloader; в Windows — STM32 Virtual ComPort.
Проблема
No DFU device found в Windows
Решение
WinUSB для STM32 BOOTLOADER через ImpulseRC Driver Fixer или Zadig.
Проблема
Guillemot STM DFU вместо STM32 BOOTLOADER
Решение
Удалите Guillemot с драйвером, снова WinUSB через Zadig.
Проблема
ALLOW ACCESS на карточке
Решение
Нет разрешения FlySpark. ALLOW ACCESS и подтвердите.
Проблема
Bootloader (DFU), конфигуратор не подключается
Решение
Плата в bootloader. Прошейте или переподключите без BOOT.
Проблема
Game controller
Решение
Радио в joystick mode. Выберите USB Serial (VCP) или USB Storage на радио.
Проблема
Unknown device, Hidden на Connect
Решение
ID не распознан. Show all devices на Connect и попробуйте.
Проблема
Could not list USB devices
Решение
Android отклонил запрос. Отключите, перезапустите doctor, подключите снова.
Словарь
Словарь терминов
- DFU
- Device Firmware Upgrade — USB-режим встроенного bootloader STM32 для приёма прошивки.
- VCP
- Virtual COM port: контроллер с прошивкой на USB как serial port.
- VID:PID
- Пара vendor/product ID USB-устройства, например 0483:DF11.
- WinUSB
- Универсальный USB-драйвер Windows для прямого доступа; нужен desktop DFU.
- Zadig
- Утилита Windows для установки WinUSB или libusb на выбранное USB-устройство.
- ImpulseRC Driver Fixer
- Утилита Windows, ставящая нужные драйверы для подключённого контроллера.
- USB OTG
- On-The-Go: телефон как USB host для подключения контроллера.
- ROM bootloader
- Код в чипе STM32 с завода; его нельзя стереть — почти всегда можно снова войти в DFU.
FAQ
Частые вопросы
Что такое драйвер STM32 DFU?
Драйвер Windows для платы в bootloader. Desktop-прошивальщики Betaflight нуждаются в WinUSB на STM32 BOOTLOADER; ставится ImpulseRC Driver Fixer или Zadig.
Нужны ли Zadig или ImpulseRC на Android?
Нет. Разрешите FlySpark доступ к устройству.
Исправит ли FlySpark драйверы Windows?
Нет. USB and DFU doctor только на Android. В Windows — ImpulseRC или Zadig.
Плата включается, но не подключается?
Чаще charge-only кабель. Иначе bootloader, драйвер или разрешение.
Betaflight не подключается после прошивки?
Плата ещё в bootloader. Переподключите без BOOT.
Как войти в DFU?
BOOT при USB или bl в CLI Betaflight (dfu в INAV). Прошивальщик FlySpark отправит команду.
Нужны ли драйверы CP2102/CH340?
На Android с FlySpark — нет. На ПК иногда нужен драйвер чипа.
USB doctor на iPhone?
Нет. iPhone не видит USB контроллеры. Android; в браузере — демо.
Hidden на Connect?
ID не распознан. Show all devices и попробуйте подключиться.
Радио как game controller?
Joystick mode. USB Serial (VCP) или USB Storage на экране радио.
Можно ли «окирпичить» плату в DFU?
Редко. ROM bootloader STM32 не стирается; BOOT почти всегда возвращает в DFU. Read protection снимают утилитой на ПК.
Ссылки
Источники
Официальная документация, на которой основаны факты на этой странице.
- 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





