Kakute H7
**Kakute H7 stores PX4 parameters on its SD card, so you have to have an SD card inserted all the time!
Kakute H7 does not have an internal magnetometer**
Bootloader flashing
Kakute H7 comes with BLheli bootloader, we need to reflash it to PX4 bootloader Get the bootloader here: holybro_kakuteh7_bootloader.hex
You need to use older version of Betaflight Configurator, otherwise you will get an error.
Version 10.7.2 is verified and working.
Download here - https://github.com/betaflight/betaflight-configurator/releases/tag/10.7.2
Follow the guide here: https://docs.px4.io/main/en/advanced_config/bootloader_update_from_betaflight.html to flash the PX4 bootloader using the betaflight configurator.
PX4 firmware
You have to flash the bootloader first, otherwise these steps will not work!
Firmware - 1.16.1, with UART fix (remove line: nuttx-config/nsh/defconfig:212:CONFIG_USART3_SERIAL_CONSOLE=y)
- Get the firmware here: https://drive.google.com/drive/folders/1iKcHzFtSHZB_lsj_gT5sN wbiLho4amIe?usp=drive_link
Before loading the px4 firmware, you need to flash the bootloader first.
Use QGroundControl to flash the Firmware.
Once flashed, you have to apply these parameters throught QgroundControl:
- set frame to generic quadcopter, restart
- BAT1_A_PER_V: 59.5
- BAT1_V_DIV: 11.2 - these 2 params will make the battery voltage readout work
- CBRK_SUPPLY_CHK: 894281 - this will fix the "avionics power low" error
- IMU_GYRO_RATEMAX: 400Hz - this will fix low rate of mavros messages is ROS
- SYS_HAS_MAG: 1 - this will endable magnetometer (if you use GPS)
- EKF2_MAG_TYPE: Automatic - this will endable magnetometer (if you use GPS)
Reboot the vehicle and continue with the setup:
- calibrate all sensors, Radio, and setup flight modes
- In Power, set 4 cells and check that voltage readout works
- In Actuators, setup all motors to Dshot 300, and configure the frame shape

- In PID tuning, reduce the rate gain P for roll and pitch to 0.7, and Attitude P gains for roll and pitch to 6
Problem with missing magnetometer data
- On one kakute H7 1.5, problem with missing mag data was fixed by removing the usleep delay on the SD card config.
Building the bootloader yourself (advanced, not needed for RoboFly):
- Clone the px4_firmware repo and in its root directory
- call:
make holybro_kakuteh7_bootloader - A build directory will be created, and the bootloader will be in build/holybro_kakuteh7_bootloader.
- You need to convert the .elf binary to .hex: `arm-none-eabi-objcopy -O ihex ./holybro_kakuteh7_bootloader.elf holybro_kakuteh7_bootloader.hex
Compiling the firmware yourself (advanced, not needed for RoboFly):
- Clone the px4_firmware repo and in its root directory, call:
- call:
make holybro_kakuteh7_default - A build folder will be created with you firmware
To get Mavlink working both ways on T3/R3 (ttyS2 on sd card):
firmware/boards/holybro/kakuteh7/nuttx-config/nsh/defconfig:
- remove line:
nuttx-config/nsh/defconfig:212:CONFIG_USART3_SERIAL_CONSOLE=y - compile and load the FW, now Mavlink should run on R3/T3 both ways!