Skip to main content

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)

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 img
  • 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!