How to update flight controller firmware using INAV ground station
I. Principle
Flashing firmware is essentially the process of updating or replacing the operating system software of a flight controller (FC), similar to upgrading a phone's system or performing a factory reset. By flashing the latest firmware, you can achieve, but are not limited to:
- Fixing issues: Resolving various abnormalities caused by software malfunctions in the flight controller.
- Updating features: Introducing new features, improving flight stability, optimizing flight modes, etc.
- Enhancing performance: Optimizing flight controller response speed and overall performance for a smoother flight experience.
This tutorial primarily introduces firmware flashing methods based on INAV ground control station (GCS), including local flashing, network flashing, and methods for flashing ArduPilot firmware, applicable to any flight controller.
II. Equipment Preparation
Before proceeding with firmware flashing, ensure you have the following equipment and tools ready:
- Flight controller equipment
Important
Ensure the flight controller is not connected to any peripherals (GPS, VTX, receiver, ESC, battery, etc.) to maintain device integrity.
- Computer and software
- Installation tutorials for different versions of INAV ground control station:
- Note: Different firmware versions require different versions of the ground control station:
Important
Important
INAV 7 ground control station only supports 7-series firmware, INAV 6 ground control station only supports 6-series firmware.
:::

- If using local flashing method: Download and prepare the required firmware file in advance.
Important
You can download from the common software and firmware download page:
https://docs.corewing.com/plane/software/common-software/corewing-software-and-firmware-downloads.html
- Data cable
- Use a USB data cable (Note: Please use a single USB data cable, avoid using dual Type-C data cables).
III. Specific Operations
Firmware flashing operations are divided into three scenarios:
- Local flashing of INAV firmware
- Network flashing of INAV firmware
- Local flashing of ArduPilot firmware
The following provides detailed explanations for these three scenarios.
3.1 Entering DFU Mode
※Regardless of which flashing method you choose, the first step is to put the flight controller into DFU mode.
Operation: Disconnect all power to the flight controller. While holding the BOOT button, connect the flight controller to the computer with a data cable. The flight controller will enter DFU mode.
Important
If you cannot enter DFU mode, refer to this article: https://docs.corewing.com/plane/beforetuning/dfu-fail-fix.html
3.2 Local Flashing of INAV Firmware
Suitable for scenarios without network access, or when faster, more stable flashing is required.
Important
※Ensure the flight controller is already in DFU mode.
Steps:
1) Open INAV ground control station and navigate to the Firmware Flasher page.
2) Click Full Chip Erase to perform a full chip erase.
3) Click Load Firmware [Local], browse the local file system, and select the target firmware you have downloaded.
4) Click Flash Firmware to start flashing the firmware.




3.3 Network Flashing of INAV Firmware
Suitable for users with network access and fewer flashing requirements, simple to operate, no need to download firmware in advance.
Important
※Ensure the flight controller is already in DFU mode.
Important
※ For CoreWing F405 WING V2, select CoreWingF405WINGV2 firmware when flashing
Important
※ For SpeedyBee F405 WING APP / SpeedyBee F405 WING MINI, select SPEEDYBEEF405WING firmware when flashing


Steps:
1) Open INAV ground control station and navigate to the Firmware Flasher page.
2) In Firmware Type Selection, select the target flight controller model SPEEDYBEE F405WING.
3) Select the desired target firmware version, for example, 7.0.0.
4) Enable Full Chip Erase to perform a full chip erase.
5) Click Load Firmware [Online], and the system will automatically load the firmware from the network.
6) After the firmware is loaded, click Flash Firmware to start flashing.


3.4 Local Flashing of ArduPilot Firmware
Important
※ Used for updating existing AP firmware versions or flashing INAV firmware to AP firmware.
Important
※ Ensure the AP firmware file to be flashed has a .hex extension (otherwise it cannot be flashed).
- It is recommended to use firmware versions that have been tested through multiple flights, such as: ArduPlane4.3.7_SpeedyBeeF405WING_AddGPIObl.hex
- The steps are consistent with the local INAV firmware flashing process:
1) Open INAV ground control station and navigate to theFirmware Flasherpage.
2) ClickFull Chip Eraseto perform a full chip erase.
3) ClickLoad Firmware [Local], browse the local file system, and select the target firmware you have downloaded.
4) ClickFlash Firmwareto start flashing the firmware.

IV. Q&A
Q: What should I do if an error occurs during flashing or the firmware flashing is unsuccessful?
A: Please check the following points first:
1. Is the flight controller correctly in DFU mode;
2. Is the USB data cable in good condition? It is recommended to try again with a different data cable or port;
3. Was a full chip erase performed (Full Chip Erase);
4. Are you using the official INAV ground control station and firmware.
Technical Support QR Code
