Holybro Kakute F4


above image and some content courtesy of Holybro


  • Processor

    • STM32F405RGT6 32-bit processor

  • Sensors

    • InvenSense ICM20689 IMU (accel, gyro) on vibration isolating foam

    • BMP280 barometers

  • Power

    • 7V ~ 42V input power directly from battery

  • Interfaces

    • 4x PWM outputs

    • 1x RC input PWM/PPM

    • 5x UARTs/serial for GPS and other peripherals

    • 1x I2C port for external compass

    • micro USB port

Where to Buy

  • Available from many retailers including Holybro and HobbyKing

  • This autopilot is also included in the Kopis1 drone but note that for the moment, this vehicle will be delivered with a different open source flight code (see instructions below on loading ArduPilot)



UART Mapping

The UARTs are marked Rn and Tn in the above pinouts. The Rn pin is the receive pin for UARTn. The Tn pin is the transmit pin for UARTn.

The pin labeled Rx on each corner of the board is a common pin for ESC telemetry input.

  • SERIAL0 -> USB

  • SERIAL1 -> UART6 (Telem1)

  • SERIAL2 -> UART1 (FrSky S.Port)

  • SERIAL3 -> UART4 (GPS)

  • SERIAL4 -> UART5 (ESC Telemetry, RX only)

  • SERIAL5 -> UART3 (RX is used for RC input, TX only)

RC Input

The R3 pin, which by default is mapped to a timer input, can be used for all ArduPilot supported receiver protocols, except CRSF/ELRS and SRXL2 which require a true UART connection. However, FPort, when connected in this manner, will only provide RC without telemetry.

FrSky Telemetry

FrSky Telemetry is supported using the SmartPort pad (UART1). You need to set the following parameters to enable support for FrSky S.PORT. It has built-in inverters and a diode to allow for operation from a single pin with no special adapters.

OSD Support

The KakuteF4 supports OSD using OSD_TYPE 1 (MAX7456 driver).

PWM Output

The KakuteF4 supports up to 4 PWM outputs. The pads for motor output M1 to M4 on the above diagram are for the 4 outputs. All 4 outputs support DShot as well as all PWM types. The M5 and M6 outputs are not currently available with ArduPilot.

The PWM is in 2 groups:

  • PWM 1 and 2 in group 1

  • PWM 3 and 4 in group 2

Channels within the same group need to use the same output rate, whether PWM or Dshot. If any channel in a group uses DShot then all channels in the group need to use DShot.

Battery Monitoring

The board has a built-in voltage and current sensor. The voltage sensor can handle up to 6S LiPo batteries.

The correct battery setting parameters are:


The KakuteF4 AIO does not have a built-in compass, but you can attach an external compass using I2C on the SDA and SCL pads.


The KakuteF4 supports on-board data flash logging.


Firmware for this board can be found here in sub-folders labeled “KakuteF4”.

Loading ArduPilot onto the board

Initial firmware load can be done with DFU by plugging in USB with the bootloader button pressed. Then you should load the “with_bl.hex” firmware, using your favourite DFU loading tool.

Once the initial firmware is loaded you can update the firmware using any ArduPilot ground station software. Updates should be done with the xxxxxxxxxx.apj firmware files.

If you are using a Kospi1 you may wish to load the default parameter file found here or if you are using the Mission Planner it can be conveniently loaded from the Config/Tuning >> Full Parameter Tree screen. Select “Holybro-kospi1.param” from the drop-down and then push the “Load Presaved” button.