FlySpark 标志
FlySpark logoFlySpark硬件与连接

STM32 DFU 驱动修复与飞控 USB 诊断

飞控检测不到时,原因几乎总是四类之一:充电线、板子处于错误模式、缺少或错误的驱动(Windows 上的 STM32 DFU 驱动),或系统未授予权限。本页逐步排查,含 Windows 常用修复(ImpulseRC Driver Fixer 与 Zadig),以及 macOS、Linux、Android 检查项。

Android 版 FlySpark 含 USB 与 DFU 诊断:列出手机可见的 USB 设备、识别类型(运行中的飞控、DFU 引导加载器、USB 串口适配器、遥控器),并提示下一步。Android 无需驱动,重点在线缆、OTG、权限与板子模式。

此工具在 Android 版 FlySpark App 中运行。演示可直接在浏览器中使用。

  • 免费
  • 无需硬件的演示
FlySpark logo

简要

STM32 DFU 驱动让电脑在引导加载器模式(USB ID 0483:DF11)下刷写飞控。Windows 用 Zadig 或 ImpulseRC Driver Fixer 修复。Android 无需驱动;FlySpark USB 与 DFU 诊断显示手机检测结果与建议操作。

要点

  • DFU 模式显示为 STM32 BOOTLOADER(0483:DF11);运行固件为虚拟 COM(0483:5740)。
  • Windows 刷 DFU 需在 STM32 BOOTLOADER 上安装 WinUSB(Zadig 或 ImpulseRC,见 Betaflight 文档)。
  • Linux 串口需 dialout 组;DFU 需 0483:df11 与 2e3c:df11 的 udev 规则(Betaflight 文档)。
  • FlySpark 诊断识别 16 组 VID:PID,含 STM32/AT32/GD32 DFU、CP210x、CH340、CH9102、FTDI、ESP32-S3/C3、EdgeTX 等。
  • 报告 DFU 接口的设备均显示为 bootloader,即使 ID 不在列表中。
  • 建议:数据线、OTG、仅 USB 供电、按住 BOOT 插线,或 CLI 输入 bl。
  • 诊断在 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 设备逐项命名

    列出 VID:PID、制造商与产品名、芯片族及 FlySpark 识别类型。

  • 02

    Bootloader 检测

    按 ID 识别 STM32/AT32/GD32 ROM DFU;任何 DFU 接口均显示 Bootloader (DFU)。

  • 03

    一键授权

    尚未授权的设备显示 ALLOW ACCESS,唤起 Android 权限对话框。

  • 04

    即插即刷新

    插拔时列表刷新,可观察板子在运行固件与 DFU 间切换。

  • 05

    找不到设备?

    To configure 与 To flash 两份清单涵盖数据线、OTG、供电、BOOT 与 bl 命令。

  • 06

    直达对应工具

    DFU 板子可 Open the firmware flasher;遥控器或 SD 卡可 Open the EdgeTX radio tool。

  • 07

    遥控器与适配器

    识别 EdgeTX 串口/存储/摇杆模式,CP210x、CH340、CH9102、FTDI、ESP32 USB、ST-Link。

  • 08

    浏览器演示

    无需插线即可查看运行中飞控、bootloader 与遥测电台的说明方式。

飞控检测不到的原因

先看线缆。许多充电线只供电,LED 亮但电脑/手机看不到设备。换已知可传数据的线。

再看模式。STM32 飞控有两种 USB 身份:运行 Betaflight/INAV/ArduPilot 时为虚拟 COM(STM32 常见 0483:5740),调参软件当串口打开;ROM bootloader 时为 STM32 BOOTLOADER(0483:DF11),仅刷机工具使用。bootloader 下调参连不上;运行固件时刷机工具需先重启进 bootloader。

然后是驱动与权限。Windows 上两种身份各需驱动,能调参仍可能刷机失败。Linux/Android 需权限才能打开设备。

Windows 安装 STM32 DFU 驱动

桌面 Betaflight 系刷机通过 WinUSB 与 bootloader 通信。Windows 无 STM32 BOOTLOADER 驱动或被其他驱动占用时,刷机报找不到 DFU 或卡在重启进 bootloader。

多数飞手先用 ImpulseRC Driver Fixer 自动安装。无效则进 DFU,打开 Zadig,Options › List All Devices,选 STM32 BOOTLOADER,目标 WinUSB,Replace/Install Driver。设备管理器若显示 Guillemot STM DFU Device 等,需卸载并删除驱动后重装 WinUSB。

只改 bootloader 设备驱动。调参用的虚拟 COM 用当前 Windows 自带串口驱动即可。

macOS、Linux 与 ChromeOS

macOS 对 STM32 虚拟 COM 与 DFU 无需额外驱动;不出现则查线、Hub、模式。

Linux 设备可见但普通用户可能无权限:串口通常需 dialout 组(注销再登录);DFU 需 udev 规则允许 0483:df11,见 Betaflight 文档。

电脑浏览器版 FlySpark 经 Web Serial 打开飞控串口(Chrome/Edge),适用相同串口权限规则。网页版不刷机。

Android:无驱动,但需 OTG 与权限

Android 可直接访问 STM32 虚拟 COM、DFU 与常见 USB 串口芯片。OTG 与权限可能阻碍:用 OTG 转接头或 USB-C 数据线;部分手机需开启 USB OTG。插入时允许 FlySpark 使用;若曾拒绝,诊断中点 ALLOW ACCESS。

供电也会干扰:飞控同时接电池与 USB 时重插可能无法干净重启;清单建议拔电池、仅 USB 供电再插线。

进入 DFU bootloader

两种方式:运行固件时在 Betaflight CLI 输入 bl(INAV 为 dfu),FlySpark 刷机工具会发送;或断电按住 BOOT(或无按键则短接 BOOT 焊盘)插 USB 后松开。Android 诊断卡片会变为 Bootloader (DFU) 并显示芯片族如 STM32 ROM DFU。

留在 bootloader 无法调参。刷机后若连不上,拔插 USB 且不要按 BOOT。

一览

USB 与 DFU 诊断识别的设备

0483:DF11STM32 ROM DFU bootloader
2E3C:DF11AT32 ROM DFU bootloader
28E9:0189GD32 ROM DFU bootloader
0483:5740STM32 虚拟 COM(飞控或电台 USB Serial)
2E3C:5740AT32 虚拟 COM
10C4:EA60, 1A86:7523, 1A86:55D4CP210x、CH340、CH9102 USB 串口
0403:6001, 0403:6015FTDI FT232、FT230X
303A:1001ESP32-S3/C3 USB(ExpressLRS 硬件)
1209:4F54, 0483:5720, 0483:5710EdgeTX/OpenTX 电台、SD 存储、摇杆模式
0483:3748, 0483:374BST-Link V2/V2-1(FlySpark 不使用)
任何带 DFU 接口的设备显示 Bootloader (DFU)
平台FlySpark Android;浏览器与应用内有模拟演示

对比

各系统连接飞控所需

功能WindowsmacOSLinuxAndroid + FlySpark
虚拟 COM(调参)当前 Windows 自带串口驱动无需驱动dialout 组无需驱动,允许访问
STM32 BOOTLOADER(刷机)ImpulseRC 或 Zadig 装 WinUSB无需驱动udev 规则无需驱动,允许访问
需要数据线是是是是另需 OTG

FlySpark

排查飞控检测不到

  1. 换线

    使用已知数据线;许多充电线不传数据。

  2. 查模式

    运行固件=串口;DFU=STM32 BOOTLOADER。调参与刷机模式不同。

  3. 修驱动或权限

    Windows 为 bootloader 装 WinUSB;Linux 加权限;Android 允许 FlySpark。

  4. 用 USB 诊断

    Android 打开 USB and DFU doctor 查看手机实际检测结果。

指南 01

用 USB 与 DFU 诊断检查飞控

FlySpark Android 应用内。

  1. 打开 Tools,选 USB and DFU doctor。

  2. OTG 连接飞控。

  3. 读卡片:Flight controller=运行固件;Bootloader (DFU)=可刷机。

  4. 若显示 ALLOW ACCESS,点选并接受 Android 提示。

  5. 无卡片则在 Not seeing your device? 选 To configure 或 To flash 逐步排查。

  6. DFU 板子点 Open the firmware flasher。

指南 02

Windows 用 Zadig 修复 STM32 BOOTLOADER

桌面刷机报无 DFU 设备时。

  1. 按住 BOOT 插电脑进入 DFU。

  2. 设备管理器确认 STM32 BOOTLOADER 或未知设备。

  3. Zadig:Options › List All Devices,选 STM32 BOOTLOADER。

  4. 目标 WinUSB,Replace/Install Driver。

  5. 拔线,再进 DFU 重试刷机。

指南 03

排除充电线

最先做的快速测试。

  1. 用该线连接电脑/手机与已知 USB 设备,确认是否出现。

  2. 不出现则线仅充电或损坏,换数据线。

  3. Android 开诊断插飞控:LED 亮但无卡片,多为线或 OTG 问题。

故障排除

常见问题与处理

  • 问题

    板子亮灯但任何地方都无设备

    处理

    充电线/损坏线或 USB 口松动。换已知数据线或换口。

  • 问题

    Betaflight 无连接或无端口可选

    处理

    未呈现串口:查线、是否卡在 bootloader;Windows 查 STM32 Virtual ComPort。

  • 问题

    Windows 刷机无 DFU 设备

    处理

    ImpulseRC Driver Fixer 或 Zadig 为 STM32 BOOTLOADER 装 WinUSB。

  • 问题

    STM32 BOOTLOADER 变回 Guillemot STM DFU Device

    处理

    卸载 Guillemot 并删驱动,Zadig 重装 WinUSB。

  • 问题

    诊断显示 ALLOW ACCESS

    处理

    FlySpark 尚无权限,点 ALLOW ACCESS 并接受提示。

  • 问题

    诊断为 Bootloader (DFU) 但调参连不上

    处理

    在 bootloader 中。刷机或拔插 USB 且不按 BOOT。

  • 问题

    诊断显示 Game controller

    处理

    遥控器为摇杆模式。重插并选 USB Serial (VCP) 或 USB Storage。

  • 问题

    Unknown device 且 Connect 页 Hidden

    处理

    ID 未识别。Connect 页开启 Show all devices 再试。

  • 问题

    "Could not list USB devices"

    处理

    Android 拒绝 USB 查询。拔设备、关开诊断、再插。

术语

术语表

DFU
Device Firmware Upgrade,STM32 内置 bootloader 通过 USB 接收固件的模式。
VCP
Virtual COM port:运行固件时飞控在 USB 上呈现为串口。
VID:PID
USB 设备的厂商与产品 ID,如 0483:DF11。
WinUSB
Windows 通用 USB 驱动,桌面 DFU 刷机所需。
Zadig
Windows 工具,为所选 USB 设备安装 WinUSB 或 libusb。
ImpulseRC Driver Fixer
Windows 工具,为已连接飞控安装所需驱动。
USB OTG
On-The-Go:手机作 USB 主机,可接飞控。
ROM bootloader
STM32 出厂内置代码,通常无法擦除,几乎总能再次 DFU 刷机。

常见问题

常见问题

STM32 DFU 驱动是什么?

Windows 在 STM32 bootloader 模式用的驱动。Betaflight 系桌面刷机需在 STM32 BOOTLOADER 上用 WinUSB;ImpulseRC 或 Zadig 安装。

Android 需要 Zadig 或 ImpulseRC 吗?

不需要。Android 无需 USB 驱动;提示时允许 FlySpark 使用设备。

FlySpark 能修 Windows 驱动吗?

不能。USB 与 DFU 诊断在 Android。Windows 请用 ImpulseRC 或 Zadig。

飞控上电但连不上?

常见为充电线;或处于 bootloader、缺驱动/权限。

刷机后 Betaflight 连不上?

可能仍在 bootloader。拔插 USB,不按 BOOT。

如何进 DFU?

插 USB 时按住 BOOT,或 Betaflight CLI 输入 bl(INAV 为 dfu)。FlySpark 刷机工具可代发。

CP2102、CH340 适配器要驱动吗?

Android 上 FlySpark 不需要。电脑上部分系统需要芯片厂商驱动。

USB 诊断在 iPhone 可用吗?

不可用。iPhone 应用无法像 Android 那样枚举 USB 飞控;浏览器为演示。

Connect 页 Hidden 含义?

FlySpark 未识别设备 ID 因而隐藏。可开 Show all devices 再试。

电台显示为游戏手柄?

摇杆模式。重插并选 USB Serial (VCP) 或 USB Storage。

DFU 会永久变砖吗?

极少。STM32 ROM bootloader 不可擦,按 BOOT 通常可再进 DFU。读保护板需电脑工具先清除。

参考

来源

本页背景事实所依据的官方文档。

  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

此工具在 Android 版 FlySpark App 中运行。演示可直接在浏览器中使用。