Логотип FlySpark
FlySpark logoFlySparkОборудование и связь

Исправление драйвера 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. Демо открывается в браузере.

  • Бесплатно
  • Демо без оборудования
FlySpark logo

Коротко

Драйвер 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 logoBetaflight
  • INAV logoINAV
  • ArduPilot logoArduPilot
  • PX4 logoPX4
  • BLHeli_S
  • Bluejay logoBluejay
  • AM32 logoAM32
  • ExpressLRS logoExpressLRS
  • EdgeTX logoEdgeTX
  • DroneCAN logoDroneCAN
  • MAVLink logoMAVLink

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:DF11STM32 ROM DFU bootloader
2E3C:DF11AT32 ROM DFU bootloader
28E9:0189GD32 ROM DFU bootloader
0483:5740STM32 virtual COM (контроллер или радио USB Serial)
2E3C:5740AT32 virtual COM
10C4:EA60, 1A86:7523, 1A86:55D4CP210x, CH340, CH9102
0403:6001, 0403:6015FTDI FT232 и FT230X
303A:1001ESP32-S3 / C3 USB (ExpressLRS)
1209:4F54, 0483:5720, 0483:5710EdgeTX / OpenTX radio, SD, joystick
0483:3748, 0483:374BST-Link V2 и V2-1 (FlySpark не использует)
Любой DFU interfaceBootloader (DFU)
PlatformFlySpark Android; демо в браузере и приложении

Сравнение

Что нужно каждой системе

ВозможностьWindowsmacOSLinuxAndroid + FlySpark
Virtual COM (настройка)Встроенный serialБез драйвераdialoutБез драйвера, разрешение
STM32 BOOTLOADER (прошивка)WinUSB через ImpulseRC или ZadigБез драйвераudevБез драйвера, разрешение
Data-кабельДаДаДаДа+ OTG

FlySpark

Как выяснить, почему контроллер не определяется

  1. Смените кабель

    Используйте кабель с передачей данных; многие зарядные — только питание.

  2. Проверьте режим

    Прошивка — serial port; DFU — STM32 BOOTLOADER. Настройка и прошивка в разных режимах.

  3. Драйвер или разрешение

    Windows: WinUSB для bootloader; Linux: права; Android: разрешите FlySpark.

  4. USB doctor

    На Android откройте USB and DFU doctor и посмотрите, что видит телефон.

Гайд 01

Проверка контроллера через USB and DFU doctor

В приложении FlySpark на Android.

  1. Tools → USB and DFU doctor.

  2. Подключите контроллер через OTG.

  3. Flight controller — работает прошивка; Bootloader (DFU) — готов к прошивке.

  4. ALLOW ACCESS — примите запрос Android.

  5. Пусто — To configure или To flash в Not seeing your device?

  6. DFU — Open the firmware flasher.

Гайд 02

STM32 BOOTLOADER и Zadig в Windows

Когда desktop-прошивальщик не видит DFU.

  1. BOOT + USB → DFU.

  2. Диспетчер устройств: STM32 BOOTLOADER.

  3. Zadig: List All Devices, STM32 BOOTLOADER, WinUSB, Replace Driver.

  4. Переподключите в DFU и повторите прошивку.

Гайд 03

Исключить кабель только для зарядки

Быстрая проверка.

  1. Подключите кабель к ПК/телефону и устройству с USB — должно появиться в списке.

  2. Нет — кабель charge-only или повреждён.

  3. 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 снимают утилитой на ПК.

Ссылки

Источники

Официальная документация, на которой основаны факты на этой странице.

  1. USB FlashingBetaflight · betaflight.com
  2. Firmware InstallationBetaflight · betaflight.com
  3. Zadig - USB driver installation made easyAkeo Consulting · zadig.akeo.ie
  4. Firmware Flasher TabBetaflight · betaflight.com
  5. USB host overviewAndroid Developers · developer.android.com

Инструменты

Все инструменты FlySpark

Скачать FlySpark

Этот инструмент работает в приложении FlySpark для Android. Демо открывается в браузере.