Firmwares for Flight Controllers
CLI “defaults” after reflashing. Firmwares can also be downloaded from BF/INAV configurator
Installing Betaflight/INAV/ArduPilot(ChibiOS)
-
BF WIKI – DFU flashing under Windows
- Identical theory for INAV/ArduPilot
- If GPS or other peripherals are connected to UART1 or UART3 of F4/F7/H7 chip and these peripherals are powered ON while connecting USB. FC can’t enter DFU mode. It is related to DFU protocol used in the STM32 bootloader, not hardware and PC driver issue.
- Make sure INAV firmware version is compatible with configurator version, e.g. use configurator 2.2 for fw 2.2.x, use configurator 2.5 for fw 2.5.x
- Always reset to default with
defaults
in CLI after reflashing, “full chip erase” can not erase old data completely. - DFU mode can’t be bricked.
Install DFU Drivers (DFU mode)
—Use one or the other of two—
Zadig 2.4
- Connect the FC USB to the PC While holding the boot button in. (DO NOT power on FC via external 5V or Vbat)
- Open Zadig
- Choose Options > List All Devices
- Select STM32 BOOTLOADER in the device list (if instead you see STM32 Virtual Com Port you are not in DFU mode – don’t replace the driver!)
- Choose WinUSB (v6.x.x.x) in the box on the right side of the green arrow and click Replace Driver
- Unplug FC from the computer
- Restart BF/INAV configurator
- Connect the FC USB to the PC While holding the boot button in.
- BF/INAV configurator should show it’s connected in DFU mode in the top right corner
- Choose the latest hex file for your FC and then “Load Firmware Online/local”. Once loaded, click “Flash Firmware”.
ImpulseRC Driver Fixer
- Start ImpluseRC Driver Fixer
- Connect the FC USB to the PC While holding the boot button in. (DO NOT power on FC via external 5V or Vbat)
- The ImpulseRC Driver Fixer should then see and load the proper driver
- Start BF/INAV configurator
- Connect the FC USB to the PC while holding the boot button in.
- BF/INAV configurator should show it’s connected in DFU mode in the top right corner (DO NOT click the CONNECT button)
- Choose the latest hex file for your FC and then “Load Firmware Online/local”. Once loaded, click “Flash Firmware”.
Install STM32 VCP Drivers (COM mode)
- STM32 Virtual Com Port driver (Windows)
- STM32 Virtual Com Port driver X64 (Windows)
- PC devices manager should show “STMicroelectronics Virtual COM Port (COMxx)” if VCP drivers is installed successful.
- “FS Mode” is not suitable.
- If PC drivers manager doesn’t show right COM port, uninstall it.
- Restart your computer. reinstall STM VCP drivers without FC connected. then connect FC USB to the PC to see if COM port can be detected.
Flashing BF/INAV/ArduPilot firmware with STM32CubeProgrammer
Common Q & A
- Click Q & A
BetaFlight
INavFlight
- iNavFlight GitHub
- iNavFlight FW releases
- iNAV Configurator release
- INAV Lua Telemetry
- Mission Planner for INAV (Android)
ArduPilot
STM32CubeProgrammer
BetaFlight Unified Target since 4.1.2
- F405-CTR MATEKF405CTR(MTKS)
- F405-STD/F405-OSD MATEKF405STD (MTKS)
- F405-mini MATEKF405MINI(MTKS)
- F405-AIO MATEKF405AIO (MTKS)
BetaFlight legacy Target “MATEKF405” for F405-CTR/F405-STD/F405-mini/F405-AIO/F405-OSD
- Betaflight legacy target is not released any more in pull-down list of configurator, it has been superseded by the Unified Target since 4.1.2
INAV Target MATEKF405
- inav_2.5.1_MATEKF405
- inav_2.6.1_MATEKF405
- Softserial_TX1 is on TX4 pad & Softserial_TX2 is on TX2 pad if CPU based serial port is enabled since 2.0.1
Wiki INAV MATEKF405 family
ArduPilot(ChibiOSD) Mateksys F405-STD and variants
- http://firmware.ardupilot.org/
- ArduPilot (ChibiOS) Target MatekF405 for F405-CTR
- ArduPilot (ChibiOS) Target MatekF405-STD for F405-STD and F405-mini
- Flight controller F405-SE and F405-WING share same target/hwdef.
INAV Target MATEKF405SE
Betaflight unified Target MATEKF405SE
- betaflight_4.2.8_MATEKF405SE
- BetaFlight 4.2.x downloaded from configurator don’t support DPS310.
ArduPilot (ChibiOS) hwdef MatekF405-WING
BetaFlight Unified Target
- F411-mini MTKS-MATEKF411
BetaFlight Target MATEKF411
——————————————————————————————————————————–
INAV Target MATEKF411
- inav_2.5.1_MATEKF411
- inav_2.6.1_MATEKF411
- Set OSD video format to “AUTO”, Do not have it set to PAL or NTSC, otherwise F411 could hang after rebooting.
http://www.mateksys.com/Downloads/FW/inav_2.4.0_MATEKF411_S5S6_SS2.hex
——————————————————————————————————————————–
INAV Target variant
MATEKF411_SFTSRL2
- if you want to use two softserials (TX only) at the same time. Eg. VTX control + S. Port
- softserial_tx1 on ST1 pad, softserial_tx2 on LED pad
MATEKF411_RSSI
- if you want to have analog RSSI input on ST1 pad. softserial_tx1 will be available on the LED pad.
MATEKF411_FD_SFTSRL
- if you need the softserial to be full-duplex (TX = ST1 pad, RX = LED pad), at the cost of losing the LED output.
MATEKF411_S5S6_SS2
- inav_2.4.0_MATEKF411_S5S6_SS2.hex
- inav_2.5.1_MATEKF411_S5S6_SS2.hex
- inav_2.6.1_MATEKF411_S5S6_SS2.hex
- If you use 2 servos outputs only. e.g. flying wing. you might use this firmware to get Softserial2_TX on S5 pad, Softserial2_RX on S6 pad.
BetaFlight Target MATEKF411RX
- betaflight_3.4.0_MATEKF411RX_combo_nosport.hex
- betaflight_3.5.7_MATEKF411RX.hex
- betaflight_4.1.5_MATEKF411RX.hex
BetaFlight Unified Target
BetaFlight Unified Target (since BF4.2.x)
BetaFlight legacy Target MATEKF722
INAV Target MATEKF722
BetaFlight Unified Target
- F722-SE MATEKF722SE(MTKS)
- F722-mini, F722-miniSE MATEKF722MINI(MTKS)
- F722-WING MATEKF722SE(MTKS)
BetaFlight Legacy Target MATEKF722SE
- Betaflight_3.5.7_MATEKF722SE
- Betaflight_4.1.5_MATEKF722SE
- S5 doesn’t work for Hex/Octo motor due to normal DMA confliction if RPM filter is enabled
- Betaflight legacy target is not released any more in pull-down list of configurator, it has been superseded by the Unified Target since 4.1.2
Customized BetaFlight 4.2.x for new barometer DPS310
- betaflight_4.2.8_MATEKF722MINI.hex F722-miniSE
- betaflight_4.2.8_MATEKF722SE.hex F722-SE
—————————————————————————————————
INAV Target MATEKF722SE for F722-SE & F722-WING
INAV Target MATEKF722MINI for F722-mini & F722-miniSE
INAV Target Tips
- S5 doesn’t work for Hex motor due to normal DMA confliction if Dshot is selected
- Use multishot for Hex copter
- BF uses burst DMA, no confliction between S1 ~S8 Dshot
I2C bus speed selection
- Some I2C sensors are reported to work unreliably on default 400kHz speed. INav allows to reduce I2C clock rate to 200kHz and 100kHz to allow these picky sensors to function properly.
- If compass sensor is not recognized or hangs when setting, please try CLI command “set i2c_speed = 200KHZ” before reporting a bug.
INAV Target MATEKF411SE
- inav_2.5.1_MATEKF411SE
- inav_2.6.1_MATEKF411SE
- Set OSD video format to “AUTO”, Do not have it set to PAL or NTSC, otherwise F411 could hang after rebooting.
Variant: MATEKF411SE_S6_SR1
- inav_2.5.1_MATEKF411SE_S6_SR1.hex
- inav_2.6.1_MATEKF411SE_S6_SR1.hex
- This firmware has S6 remapped as Softserial1_RX, ST1 and S6(SR1) can be used as full duplex Softserial-1, Max. baud 57600
——————————————————————————————————————————–
BetaFlight unified Target MATEKF411SE(MTKS)
- betaflight_3.5.7_MATEKF411SE legacy target
- betaflight_4.1.5_MATEKF411SE legacy target
ArduPilot Target MATEKF765-WING
INav Target MATEKF765
- inav_2.5.1_MATEKF765_DPS310 Softserial1 and Baro DPS310 supported.
- inav_2.6.1_MATEKF765
BetaFlight Target MATEKF765
*** F722-PX, F722-HD, F722-WPX has INAV firmware preloaded for QC in factory ***
INAV Target MATEKF722PX
F722-PX, F722-HD share same INAV target MATEKF722PX
INAV Target MATEKF722WPX
F722-WPX uses INAV target MATEKF722WPX since 2.6
——————————————————————————————————————————–
BetaFlight Unified Target MATEKF722HD
F722-PX and F722-HD share same Betaflight unified target MATEKF722HD
- Select “MATEKF722HD” in pull-down list of configurator
- BetaFlight configurator 10.7 has supported FrskyOSD protocol, You need to enable “OSD(Frsky Protocol)” on Uart6.
F722-WPX can be flashed with Betaflight unified target MATEKF722HD also, DPS310 has been supported by Betaflight 4.3.0
Type CLI command
- resource SDCARD_CS 1 C15
- set sdcard_mode = SPI
- set sdcard_spi_bus = 2
- set blackbox_device = SDCARD
- serial 5 65536 115200 57600 0 115200
- save
ArduPilot Target MATEKH743
- https://firmware.ardupilot.org/Plane/stable/MatekH743/
- https://firmware.ardupilot.org/Copter/stable/MatekH743/
INAV
- To be supported soon
BetaFlight Target MATEKH743
ArduPilot AP_Periph F405-MatekGPS
ArduPilot Plane/Copter/Rover MatekF405-CAN
INav Target MATEKF405CAN
Acknowledgements
- How to setup INAV on a flying wing – video tutorial
- How to setup INAV on a flying wing – video tutorial – GPS, Baro and Compass
- The most common iNav mistakes