How to Flash Ardupilot Firmware on Kakute F4 / F7 FC

by Oscar
Published: Last Updated on

The Holybro Kakute F4 and F7 flight controllers now support Ardupilot firmware for more advanced and reliable GPS capability. Features include “Return to Home”, “GPS Way-Point” and “Position hold” etc. In this tutorial I will show you how to flash Ardupilot firmware on the Kakute F4 and F7 FC.

Make sure to check out our reviews of the Kakute F4, and Kakute F7 FC.

Further Reading:

How to Flash Ardupilot on Kakute F4 / F7 FC

Simply flash the FC with the Ardupilot firmware using Betaflight Configurator. You can download the firmware on this page:

The file you need is: arducopter_with_bl.hex

Depending on what application, the firmware required is different – ArduXXX (Copter. Plane, etc.)_WITH_BL.HEX

Open Betaflight Configurator, go to the firmware flash tab.

Enable “Full chip erase”.

Click on “Load Firmware [Local]” button, and choose the firmware hex file you just downloaded.

Hardware Connection

Kakute F4:

  • Connect GPS module to UART 4
  • Receiver to UART 3
  • Telemetry to UART 6

Kakute F7:

  • GPS module to UART 4
  • Receiver to UART 6
  • Telemetry to UART 1 or 2

No need to press the boot button, just flash it. Then you can forget about Betaflight Configurator. In the future you flash the FC with the .apj files.

Mission Planner Setup

Find “Full Parameter List” and set up as shown in the following. The only thing you need to confirm is the GPS module baud rate, and change “serial4_baud” to the same baud rate. For example, if your GPS baud rate is 38400, you should select 38.

F4:

F7:

After that’s done, setup your radio and sensors and it’s ready to go!

How to Revert Back to Betaflight?

Hold down the boot button while powering up, this will enter DFU mode, then flash the BF firmware for your particular FC.

Credit: Holybro

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

22 comments

jeffr0 28th August 2021 - 10:48 pm

I had trouble using Betaflight Configurator (v 10.7.0) to flash on my non-AIO v1.5 board – after clicking “Flash Firmware” with the local file it went through the erase successfully and then would just hang… It wasn’t working at all and wouldn’t connect to anything (BF or MP), but was able to reflash back to Betaflight after using the button to get into DFU mode. Tried a few times with no luck.

I then tried with STM Cube Programmer (see ardupilot.org/copter/docs/common-loading-firmware-onto-chibios-only-boards.html). Booted in DFU mode and it connected, then flashed with the arducopter_with_bl.hex file per instructions above. Mission Planner was able to recognize the board.

YMMV, but great writeup!

Reply
Omar g castillo 29th March 2021 - 3:41 pm

Hola oscar.tengo una kakute f4 v2 aio le cargo el firmaware ardupilot pero sale BRD type _…..
Baro:unable to initiale driver

Reply
Dave K 15th October 2020 - 8:57 am

How would I connect to a crossfire nano and get telemetry? CRSF Rx and Tx to UART 6 for RC link, but what would I connect to UART 1 or 2?

Reply
juri117 24th July 2020 - 3:55 pm

Thanks for the how-to, here my experience:
When I tried to flash ardupilot_with_bl.hex betaflight-configurator did nothing when I clicked on Flash.
However, cleanflight-configurator (2.4.0) did the trick, no idea why ^^
tested with mint20 and win10 -> same behavior

Reply
FlyJP67 15th July 2019 - 10:56 am

I had the same issue with DFU mode after flashing Ardupilot.
To be able to enter DFU you need to disconnect the GPS / Compass module from the serial port and I2C ! This prevented me to enter in DFU.
I was able to reflash BF after

Reply
Tim Moore 25th June 2019 - 10:56 am

Anyone know if the mavlink (sik radio) works straiggt out ofthe box? With the f4 version it took me ages to work out , you must remove the resistor asi thought it only applied to receiver signal, as seemsgps into uart3 works fine but telemtry wouldnt unless i unpluggged the gps, anyway any advice about thisnewboard will behelpful- cheers Tim M

Reply
Chris 23rd June 2019 - 11:41 pm

When I click the arudbopter_with_bl.hex nothing comes up to download just displays a page with random numbers so how do I go about downloading that hex file for the Kakute F4?

Reply
Alex 1st June 2019 - 10:07 am

Is it possible to flash PX4 to the KakuteF7?

Reply
Paul 26th March 2019 - 1:27 pm

Hello, I am trying to build a small Hexa with this setup. How do I get the ESC calibration done? The method that is mentioned in the Ardupilot page does not seem to work with the KakuteF7. Also the Motors mapping seem to be wrong. I have connected M1-Motor 1 and so on as shown here ardupilot.org/copter/docs/connect-escs-and-motors.html

Thanks

Reply
Tony2k 26th February 2019 - 11:13 pm

I’m the only one that can’t have current current measurement? If show alvays 0,39 Ah, this is my setup :

BATT_MONITOR 4
BATT_VOLT_PIN 13
BATT_CURR_PIN 12
BATT_VOLT_MULT 10,98264
BATT_AMP_PERVLT 17.0

Reply
Mike 23rd September 2018 - 3:57 pm

*** WARNING ***

Oscar,

Please update your post to WARN people that it is a ONE-WAY street if you flash ChibiOS and Ardupilot onto the Kakute F7. Holybro’s comments are incorrect. YOU WILL NOT BE ABLE TO ENTER DFU IN BETAFLIGHT TO FLASH BACK TO BETAFLIGHT !!!!!! I now have a Kakute F7 running Ardupilot fine BUT it’s useless to me since I am wanting to revert to Betaflight. Sigh ….

Reply
Diego 3rd February 2019 - 6:25 am

I have been able to revert it bud.
Just hold the dfu button on power up and flash betaflight again.

Reply
Gerry 20th September 2018 - 3:26 am

Oscar,i got the Kakute f7 running arducopter this weekend. I can’t get frsky telemetry working though. Any info on how to get it to work? Ardupilot docs have no info on the Kakute f7 for telemetry.

Reply
Carl 8th February 2019 - 10:55 pm

Hi, very helpful. I too can’t get frsky telemetry working with the non AIO F7. The radio is receiving the telemetry there is just no data. I’m guessing the the 4InOne ESC is not communications to the FC because the associated USRT is not set up. Oscar, did you get voltage and current data to the radio? Can you publish your Full Parameters? Thx

Reply
Richard 18th September 2018 - 8:13 pm

Hello Oscar, thanks for this article. Does this FC have an onboard compass and if not won’t I need to connect an external one to the I2C (SCA/SCL) ?

Reply
Mike 30th September 2018 - 6:18 am

No compass on the Kakute F7. Use external GPS with compass on SDA/SCL i2c.

Reply
Ricardo Maroquio 19th November 2018 - 7:07 pm

I’m trying to use external GPS/Compass (mRo uGPS+Compass) and it is not being recognized in MissionPlanner. Did you do that or have some tip?

Reply
Cristian Gutierrez 12th September 2018 - 4:18 am

Great information Oscar, thanks for your help! Can you proporcionate information about other fc, for example matek f405 y f722?. Thanku

Reply
Oscar 18th September 2018 - 5:52 pm

I am not sure if their FC supports Ardupilot, best to check with Matek directly.

Reply
Thehamst0r 8th September 2018 - 11:09 pm

Hi Oscar,

A timely article, I was just planning to give this a shot as ardupilot is becoming more available on f4.

Any particular reason for the uarts as they are suggested? I suppose they can be remapped in ardupilot?

Thx

Reply
Oscar 9th September 2018 - 9:05 pm

those are just suggestions form Holybro for beginners, you can change the connections.

Reply
Steffen 1st January 2019 - 9:09 am

For me GPS only worked on UART 3 (F7 AIO). For current and voltage measurement, I just had to set “batt monitor = 4” (voltage pin 13, current pin 12). OSD workes as well. Thank you for your How-to!

Reply