Holybro Kakute F4¶
above image and some content courtesy of Holybro
Specifications¶
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)
Pinout¶
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.
PPM/SBUS/DSM/SRXL attach to R3 pin.
FPort must use UART6 or UART4. See FPort Receivers.
CRSF must use UART6 or UART4 for RC and Telemetry. See Crossfire and ELRS RC Systems.
SRXL2 must use UART6 or UART4 for both RC and Telemetry. See Spektrum RC Systems.
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.
SERIAL2_PROTOCOL 4 or 10
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:
BATT_VOLT_MULT 10.1
BATT_AMP_PERVLT 17.0
Compass¶
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.
Logging¶
The KakuteF4 supports on-board data flash logging.
Firmware¶
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.