Flight Controller Board: KIWI F405 6S Configuration
Description
The KIWI F4.0 is a versatile STM32F405-based flight controller designed for FPV, fixed-wing aircraft, and autonomous platforms. It integrates precise inertial sensing, OSD support, built-in Blackbox logging, and relay outputs for controlling external modules. With support for both Betaflight and ArduPilot, the board can be deployed across a wide range of use cases.
KIWI F4.0 is a reliable platform for building FPV drones, aircraft, and specialized autonomous systems. Its flexible support for relays, sensors, and telemetry makes it ready for real-world mission environments.
Firmware
- ArduPilot KiwiF405-6S.zip
- Betaflight 4.5.3 BF-4.5.3.hex
Features
- Industrial-grade Invensense ICM-42688P IMU with external clock
- Bosch BMP388 barometer for altitude measurement
- Built-in 128Mbit Blackbox flash memory (W25Q128FV)
- MAX7456 OSD chip for overlaying telemetry on analog video
- High-precision voltage and current monitoring via ADC
- GPIO-controlled relay outputs for powering VTX, cameras, or pyrotechnic systems
- 4 PWM outputs for motors and 6 channels for servos
- USB Type-C with DFU support for firmware updates
- Full CRSF / ELRS support with telemetry (RSSI, LQ, SNR, Power)
Technical Specifications
- MCU: STM32F405RG (168 MHz)
- IMU: ICM-42688P with external clock
- Barometer: Bosch BMP388
- OSD: MAX7456
- Flash: W25Q128FV (128 Mbit)
- Ports:
- 5× UART (ESAD, RC, GPS, VTX, ESC/MSP)
- 1× I2C
- 3× SPI (OSD, IMU, FLASH)
- ADC: VBAT, CURRENT
- PWM:
- 4 motor channels
- 6 servo channels
- GPIO relays:
- 4 relay outputs: X1, X2, X3, X4 (controlled via GPIO)
- Interfaces:
- USB Type-C
- SWD debug interface
- Dimensions:
- 36×36 mm
- Mounting: 30.5×30.5 mm
- Status LED indicator
Camera Gimbal Support
KIWI F405 supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).
MAVLink Gimbal
Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).
| Param | Value | Notes |
|---|---|---|
SERIALx_PROTOCOL | 2 | MAVLink2 |
SERIALx_BAUD | 115 | 115200 bps |
MNT1_TYPE | 6 | Gremsy (reboot after setting) |
MNT1_PITCH_MIN | -120 | GM3 V2 spec: ±120° |
MNT1_PITCH_MAX | 120 | |
MNT1_YAW_MIN | -160 | GM3 V2 spec: ±160° |
MNT1_YAW_MAX | 160 | |
MNT1_RC_RATE | 60 | deg/s for rate control, 0 for angle |
RC Control
Assign RC channels to control gimbal axes:
| Param | Value | Notes |
|---|---|---|
RC6_OPTION | 213 | Mount1 Pitch |
RC7_OPTION | 214 | Mount1 Yaw |
RC8_OPTION | 212 | Mount1 Roll (3-axis gimbals only) |
Example: with MNT1_RC_RATE=60, moving the RC6 stick deflects pitch at 60°/s. Set MNT1_RC_RATE=0 for direct angle control (stick position = gimbal angle).
Gimbal firmware must be V2.0 or higher.
Servo Gimbal
Connect pitch/yaw servos to AUX PWM outputs.
| Param | Value | Notes |
|---|---|---|
MNT1_TYPE | 1 | Servo |
SERVOx_FUNCTION | 6 | Mount1 Pitch (assign to desired output) |
SERVOx_FUNCTION | 8 | Mount1 Yaw (assign to desired output) |
MNT1_PITCH_MIN | -90 | |
MNT1_PITCH_MAX | 90 | |
MNT1_YAW_MIN | -170 | |
MNT1_YAW_MAX | 170 | |
MNT1_RC_RATE | 60 | deg/s for rate control, 0 for angle |