Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KiwiH743-Wing Flight Controller

Buy Online Buy Online

Overview

The KiwiH743-Wing is a Pixhawk-format flight controller system consisting of two boards: a Flight Controller and a Power Distribution Board (PDB). Designed for expendable quadcopters and long-range fixed-wing drones. Ready to use with Rover, Wing, Quadcopter, and Hexacopter configurations.

Premium features: GPS-less takeoff, IRC Tramp VTX control, VRX integration (TBS Fusion, Skyzone Steadyview), wind override from GCS.


Firmware

FirmwareVersionUpdatedDownload
ArduPilot 4.74.7.1-dev (e28ab786)2026-11-04KiwiH743-wing-4.7.zip
ArduPilot 4.64.6.3-dev (1c2b6336)2026-11-03KiwiH743-wing.zip
ArduPilot 4.54.5.7-dev (92ab05ca)2026-11-03KiwiH743-wing-4.5.zip
ArduPilot 4.7 (no IMU CLKIN)4.7.1-dev (e28ab786)2026-11-04KiwiH743-wing-noclkin-4.7.zip
ArduPilot 4.6 (no IMU CLKIN)4.6.3-dev (1c2b6336)2026-11-03KiwiH743-wing-noclkin.zip
ArduPilot 4.5 (no IMU CLKIN)4.5.7-dev (92ab05ca)2026-11-03KiwiH743-wing-noclkin-4.5.zip
INAV 9.19.1.1-dev (6944bd5c)2026-10-14KiwiH743-wing-inav.zip
Betaflight——TBD

Three ArduPilot branches are maintained in parallel: 4.5 (Plane-4.5.7 LTS), 4.6 (current), and 4.7. Pick the one that matches your fleet.

The no IMU CLKIN builds are an A/B test control with the external 32.768 kHz IMU clock disabled — IMUs run on their internal oscillators. Same APJ_BOARD_ID, loads with the same bootloader.

The INAV zip contains the .hex (target KIWIH743WING) plus the target sources and a README — flash the hex via the INAV Configurator “Load Firmware [Local]” button.

Previous versions

FirmwareVersionUpdatedDownload
ArduPilot 4.74.7.1-dev (e7bf0731)2026-09-22KiwiH743-wing-4.7-2026-09-22.zip
ArduPilot 4.74.7.1-dev (4776a3fb)2026-09-04KiwiH743-wing-4.7-2026-09-04.zip
ArduPilot 4.64.6.3-dev (50cd24bd)2026-10-29KiwiH743-wing-2026-10-29.zip
ArduPilot 4.64.6.3-dev (3a7e5083)2026-10-14KiwiH743-wing-2026-10-14.zip
ArduPilot 4.64.6.3-dev (e4a1d2cc)2026-06-26KiwiH743-wing-2026-06-26.zip
ArduPilot 4.64.6.3-dev (5436f451)2026-05-20KiwiH743-wing-2026-05-20.zip
ArduPilot 4.54.5.7-dev (a6bb8227)2026-08-20KiwiH743-wing-4.5-2026-08-20.zip
ArduPilot 4.54.5.7-dev (0edb016a)2026-06-28KiwiH743-wing-4.5-2026-06-28.zip
ArduPilot 4.54.5.7-dev (79b1a19b)2026-06-20KiwiH743-wing-4.5-2026-06-20.zip
ArduPilot 4.6 (no IMU CLKIN)4.6.3-dev (50cd24bd)2026-10-29KiwiH743-wing-noclkin-2026-10-29.zip
ArduPilot 4.6 (no IMU CLKIN)4.6.3-dev (5436f451)2026-05-15KiwiH743-wing-noclkin-2026-05-15.zip

Features

  • STM32H743 MCU (480 MHz, 2 MB flash)
  • 12S power supply
  • 5V, 6/7V, 9/12V 5A BECs
  • ICM-42688P and ICM-45686 with power and hardware signal filtering
  • BMP388 barometer
  • Dual camera input, switchable
  • 12 PWM outputs + 3 GPIO/PINIO outputs (servo 13-15)
  • 5 UARTs, UART7 with flow control
  • 1 SPI, 1 I2C, FDCAN
  • 5 GPIOs, 2 relay outputs, 9/12V switch
  • Analog + digital VTX output
  • STM32G4 OSD
  • SD card via SDMMC
  • 40 x 42 mm board, 36 x 39 mm mounting holes

Technical Specifications

Processor

ParameterValue
MCUSTM32H743
ArchitectureARM Cortex-M7
Max Frequency480 MHz
Flash2048 KB (2 MB)
Crystal16 MHz external oscillator

Sensors

SensorPartNotes
IMU 1ICM-42688PExternal clock, hardware filtered
IMU 2ICM-45686Hardware filtered
BarometerBMP388
OSDSTM32G4Analog video overlay

Power

RailVoltageCurrent
Input12S (up to ~50V)
BEC 15V5A
BEC 26/7V5A
BEC 39/12V5A

Mechanical

ParameterValue
Board size39 x 39 mm
Mounting holes30.5 x 30.5 mm

Serial Ports

Ports without DMA fall back to interrupt + FIFO and are not deterministic at high baud.

SerialUARTTX PinRX PinDMA RXDMA TXNotes
Serial 1USART1PB14PB15NODMADMALow-rate only (≤115 k)
Serial 2USART2PD5PD6NODMANODMALow-rate only (≤115 k)
Serial 3USART3PD8PD9NODMADMALow-rate only (≤115 k)
Serial 4UART4PD1PD0DMA exclusiveDMA exclusive★ Rank 1 high-baud — first choice
Serial 5UART5PB13PB12NODMADMALow-rate only (≤115 k)
Serial 6USART6PC6PC7NODMADMALow-rate only (≤115 k)
Serial 7UART7PE8PE7DMA exclusiveDMA exclusive★ Rank 2 high-baud; RTS PE9, CTS PE10
Serial 8UART8PE1PE0NODMADMAOSD UART

For peripherals that need >115 k baud (e.g. ELRS+MAVLink, RTK GPS+MAVLink), use the DMA-backed UARTs:

RankSerialUARTTX PinRX PinNotes
1Serial 4UART4PD1PD0First choice for any high-baud peripheral
2Serial 7UART7PE8PE7Second choice. RTS/CTS wired — tie peripheral CTS to GND, or set BRD_SER7_RTSCTS = 0

Default firmware already sets SERIAL7_PROTOCOL = MAVLink2 on the Wing, so for a second high-baud link just set SERIAL7_BAUD = 460.


Connectors and Wire Colors

Port connection diagram for cable assembly. Pin order in each connector matches the silkscreen labels on the board, read left to right.

KIWI H7.0 Wing port connection diagram
PortPin OrderWire Colors
USBG, DP, DM, 5VBlack, Green, White, Red
UART6G, R6, T6, 5VBlack, White, Green, Red
CAN1G, L, H, 5VBlack, Green, White, Red
CAM1G, CM1, 5VBlack, Yellow, Red
UART5G, R5, T5, 5VBlack, White, Green, Red
I2C2G, SDA, SCL, 5VBlack, Green, White, Red
UART4G, R4, T4, 5VBlack, White, Green, Red
CAM2G, CM2, 5VBlack, Yellow, Red
VTXG, 12V, T2, R2, VO, 5VBlack, Red, Green, White, Yellow, Blue
UART1 + I2C1G, SDA, SCL, R1, T1, 5VBlack, Blue, Yellow, White, Green, Red
UART7G, RTS, CTS, R7, T7, 5VBlack, Blue, Yellow, White, Green, Red

Wire Color Legend

ColorSignal
BlackGround (GND)
RedPower (5V / 12V)
GreenTX, CAN L, SDA
WhiteRX, CAN H, SCL
YellowVideo (VO/CM) or CTS
BlueRTS or auxiliary signal (used for the second power wire on the VTX cable)

Note: Wire colors are intended to simplify cable assembly and connector identification. Signal names printed on the PCB always take precedence over wire color. On the VTX cable, 5V is the video 5V rail (blue) — distinct from 12V (red).

AUX, RELAY and ADC Connectors (bottom side)

Three JST-SH 1 mm connectors on the bottom of the FC board. Pin order follows the silkscreen next to each connector.

AUX (8-pin). 3.3 V logic straight from the MCU, no driver, no series resistor. 5V is a supply output.

SilkSignalMCU pinArduPilot
GGND
U4AUX4 GPIOPC14GPIO 108
U3AUX3 GPIOPE5GPIO 107
U2AUX2 GPIOPB3GPIO 106
U1AUX1 GPIOPD7GPIO 105
R3UART3 RXPD9SERIAL3
T3UART3 TXPD8SERIAL3
5V5 V out

U1-U4 are outputs, low at boot. Use them with RELAYn_PIN=105/106/107/108 and RELAYn_FUNCTION=1. From Lua, use gpio:write(105, 1). All six ArduPilot relays have a default pin, so free one first. Example: RELAY6_PIN=105 if servo 15 is not needed as GPIO.

RELAY (4-pin). Two high-side switched power outputs from the board’s 12 V rail (9 V when the rail is set to 9 V). Each output is a P-channel MOSFET (IRLML5203) driven through a level shifter with a 10 k gate pulldown. The output is off while the MCU is in reset or unprogrammed. Off = open circuit, not 0 V. Rate each output at 2 A continuous.

SilkSignalControl pinArduPilot
GGND
GGND
X2switched 12 VPD4, GPIO 102RELAY3 (RELAY3_PIN=102, default)
X1switched 12 VPD3, GPIO 101RELAY2 (RELAY2_PIN=101, default)

The X1/X2 connector pins are the same outputs as the RELAY 1 / RELAY 2 pads listed under GPIOs, Relays, and AUX.

ADC (6-pin). Analog inputs, each with an ESD diode and 100 nF to ground. A1-A3 are 0 to 3.3 V direct. B2 is a battery voltage input with a 100 k / 5.1 k divider, ratio 20.6. Full scale 3.3 V is about 68 V at the pin. 5V is a supply output.

SilkSignalMCU pinADCArduPilot pin
GGND
B2battery 2 voltage, divider 20.6:1PC3ADC1 ch1313
A3analog in, 0-3.3 VPC2ADC1 ch1212
A2analog in, 0-3.3 VPC0ADC1 ch1010
A1analog in, 0-3.3 VPC1ADC1 ch1111
5V5 V out

Second battery monitor on B2: set BATT2_MONITOR=3, the firmware defaults BATT2_VOLT_PIN=13 and BATT2_VOLT_MULT=20.6 (firmware after 2026-10-14). A1/A2/A3 suit an analog airspeed sensor (ARSPD_PIN=11) or RSSI (RSSI_TYPE=1, RSSI_ANA_PIN=10).


GPIOs, Relays, and AUX

Dedicated GPIO Pads

PadPinGPIODefaultArduPilot Relay Config
CAM SWPE2100RELAY1RELAY1_PIN=100 (hwdef default)
RELAY 1PD3101RELAY2RELAY2_PIN=101 (default, enabled)
RELAY 2PD4102RELAY3RELAY3_PIN=102 (default, enabled)
AUX 1PD7105Output LOW—
AUX 2PB3106Output LOW—
AUX 3PE5107Output LOW—
AUX 4PC14108Output LOWU4 on AUX connector (firmware after 2026-10-14)
VID NRSTPE3104Input PULLUPRELAY6_PIN=104, inverted (takes RELAY6 from servo 15)
CAN SILPE470Output LOWCAN silent mode
BUZZERPA1532Alarm—
LEDPD1190Status LED—

Note: pad silkscreen numbers and ArduPilot relay numbers are off by one. ArduPilot RELAY1 is the camera switch (RELAY1_PIN=100, PE2, hwdef default). Pad RELAY 1 (PD3) is ArduPilot RELAY2, pad RELAY 2 (PD4) is ArduPilot RELAY3. Both are enabled by default, off at boot. RELAY4-6 default to servo outputs 13-15, see below. RELAY 1/2 pads are 9/12V switched outputs.

PWM Outputs

OutputPinGPIOTimerFunctionDShot Bidir
SERVO 1PA1050TIM1_CH3Motor 1Yes
SERVO 2PA951TIM1_CH2Motor 2Yes
SERVO 3PA852TIM1_CH1Motor 3Yes
SERVO 4PD1553TIM4_CH4Servo 1No
SERVO 5PD1454TIM4_CH3Servo 2No
SERVO 6PD1355TIM4_CH2Servo 3No
SERVO 7PD1256TIM4_CH1Servo 4No
SERVO 8PB157TIM3_CH4Servo 5No
SERVO 9PB058TIM3_CH3Servo NNo
SERVO 10PB459TIM3_CH1Servo NNo
SERVO 11PB560TIM3_CH2Servo NNo
SERVO 12PA361TIM5_CH4Servo NNo
SERVO 13PA262TIM5_CH3GPIO, RELAY4No
SERVO 14PA163TIM5_CH2GPIO, RELAY5No
SERVO 15PA064TIM5_CH1GPIO, RELAY6No

Any PWM pin can be turned into a GPIO with SERVOn_FUNCTION=-1 + RELAYn_PIN=<gpio>. Reboot after changing the function.

Bidirectional DShot (ESC RPM telemetry) is available on outputs 1–3 (TIM1). Enable with SERVO_BLH_BDMASK=7 and use DShot300/600 on those outputs.

Servo 13-15 as GPIO (PINIO)

Servo outputs 13, 14 and 15 ship as GPIO outputs, not PWM. The firmware defaults set SERVO13-15_FUNCTION = -1 and map the pins to RELAY4-6, off at boot.

OutputPinGPIORelayRC switchRelay index (MAVProxy / Lua / DO_SET_RELAY)
SERVO 13PA262RELAY4RCx_OPTION = 363
SERVO 14PA163RELAY5RCx_OPTION = 664
SERVO 15PA064RELAY6RCx_OPTION = 675

Signal level is 3.3 V through a 220 R series resistor, active high. The pin drives up to 15 mA, enough for a logic input or an opto, not for a coil.

To drive one from a transmitter switch, put the option value on an RC channel, for example RC9_OPTION = 36 for RELAY4 on servo 13. Switch low (< 1200 us) = off, high (> 1800 us) = on.

param set RC9_OPTION 36     # RC9 switches RELAY4 (servo 13)
relay set 3 1               # RELAY4 ON from MAVProxy
relay set 3 0               # RELAY4 OFF

To get a PWM output back, set SERVOn_FUNCTION to the wanted function and RELAYn_FUNCTION = 0. No firmware rebuild is needed.

Pyrotechnic and one-shot loads

These three outputs are the ones to use for a parachute, cutter or other load that must never see a stray pulse:

  • The bootloader drives them low from the first milliseconds. The firmware presets the output latch low. There is no pulse during startup or relay init.
  • The pins are high impedance only while the MCU is held in reset or in DFU mode. If the load input is a bare MOSFET gate with no pulldown, fit a pulldown at the load. Use 4.7 k to 100 k from signal to GND. A module with an opto input, a base resistor or its own pulldown does not need it. Check with a meter: resistance from the module input to GND below 1 M means a pulldown is there.
  • Keep RELAYn_DEFAULT = 0. Value 2 restores the last state after a reboot and can re-fire the load.
  • Do not change SERVO13-15_FUNCTION on a channel wired to a pyro load. A servo function puts 50 Hz pulses on the pin.

For a parachute, prefer the built-in parachute function over a raw relay switch. It adds the disarmed lockout, CHUTE_ALT_MIN and a timed pulse instead of a held level:

param set RELAY4_FUNCTION 3   # Parachute on servo 13
param set CHUTE_ENABLED 1
param set CHUTE_TYPE 10        # relay
param set RC9_OPTION 22        # parachute release switch

Relay Usage

MAVProxy:

relay set 0 1    # RELAY1 ON (CAM SW HIGH)
relay set 0 0    # RELAY1 OFF
relay set 1 1    # RELAY2 ON (RELAY1 pad HIGH)

Mission waypoint: DO_SET_RELAY — relay number 0-based (0=RELAY1), setting 1=ON / 0=OFF.

Lua:

relay:toggle(0)  -- toggle RELAY1 (CAM SW)
relay:on(1)      -- RELAY2 ON (RELAY1 pad)
relay:off(1)     -- RELAY2 OFF

All GPIO pads default LOW on boot. Use RELAY_DEFAULT params to set initial state.

OSD Reset (RELAY6):

RELAY6 defaults to servo output 15. To use it for the STM32G4 OSD reset line (VID NRST) instead, point it at GPIO 104. Active low — set RELAY6_INVERTED=1 so that “relay on” pulls the line low (reset) and “relay off” releases it.

param set RELAY6_PIN 104
param set RELAY6_FUNCTION 1
param set RELAY6_INVERTED 1
relay set 5 1   # reset OSD
relay set 5 0   # release reset

Power Monitoring

FunctionPinADC
Battery voltagePC5ADC1 IN8, scale /21
Battery currentPC4ADC1 IN4
VBAT2PC3_CADC3 IN1, scale /21
ADC 1PC1ADC1 IN11
ADC 2PC0ADC1 IN10
ADC 3PC2_CADC3 IN0

Current

ParameterValueNotes
BATT_MONITOR4Analog Voltage and Current
BATT_AMP_PERVLT45.45Sensor calibration

Sensor Calibration

ParameterArduPilotBetaflight
Voltage scaleBATT_VOLT_MULT = 21.0voltage_meter_scale = 210
Current scaleBATT_AMP_PERVLT = 45.45current_meter_scale = 100

Battery Voltage Thresholds (ArduPilot)

Parameter6S8S12S
Full charge25.2 V33.6 V50.4 V
BATT_ARM_VOLT22.229.644.4
BATT_LOW_VOLT21.028.042.0
BATT_CRT_VOLT19.826.439.6

Buses

SPI

BusCLKMISOMOSIUsage
SPI 1PA5PA6PA7IMU 1 (CS: PB2)
SPI 4PE12PE13PE14IMU 2 (CS: PE15)

I2C

BusSCLSDA
I2C 1PB6PB7
I2C 2PB10PB11

FDCAN

FunctionPin
CAN RXPB8
CAN TXPB9
CAN SilentPE4

SDMMC (SD Card)

FunctionPin
D0PC8
D1PC9
D2PC10
D3PC11
CLKPC12
CMDPD2

Premium Features

GPS-less Takeoff (ArduPlane)

KIWI firmware supports autonomous takeoff without a GPS fix. Useful for hand launch or catapult deployment in GPS-denied environments.

Parameters:

ParameterValueDescription
FLIGHT_OPTIONS32768Enable GPS-less takeoff
ARMING_CHECK0Disable arming checks
TKOFF_ALT50Target takeoff altitude (meters)
TKOFF_THR_MINACC0No accelerometer trigger, timer only
TKOFF_THR_MINSPD0No minimum ground speed required
TKOFF_THR_MAX100Max throttle % during takeoff
TKOFF_THR_DELAY2Delay before launch (0.2s)

Procedure:

  1. Power on, wait for EKF convergence
  2. Set home (from GPS before loss, or manually via MAVLink)
  3. Arm in FBWA mode
  4. Switch to TAKEOFF mode

IRC Tramp VTX Control

Full IRC Tramp protocol support under ArduPilot. Change VTX power, band, channel, and pit mode directly from your GCS or OSD — no need for SmartAudio.

Works with TBS Unify, Rush Tank, and other Tramp-compatible VTXs.

VRX Integration (TBS Fusion / Skyzone)

Working video receiver control under ArduPilot. Supports:

  • TBS Fusion — band/channel tracking via CRSF
  • Skyzone Steadyview — auto channel sync

Wind Override from GCS

The GCS can set the wind that the autopilot uses for dead reckoning. This helps in GPS-denied flight, where the EKF cannot learn the wind by itself. Available in ArduPilot 4.6 firmware, all vehicles.

The GCS sends the MAVLink message WIND (#168) to the autopilot:

FieldUse
directionDirection the wind blows FROM, degrees (0-360)
speedWind speed, m/s. A value less than 0.001 turns the override off
speed_zIgnored

Behavior:

  • The autopilot applies the wind to the EKF3 (all lanes) and to DCM within 1 s.
  • The autopilot reports the wind that it uses in its outgoing WIND message. The GCS can compare this value with the set value.
  • The EKF continues to refine the wind from airspeed or sideslip data, if available. The set value is the start point.
  • The autopilot sends a status text: Wind override 270 deg 8.0 m/s (sysid/compid) or Wind override off (sysid/compid).
  • If the GCS sends no WIND message, the autopilot operates as standard ArduPilot.
  • The override stays active until the GCS turns it off or the EKF resets. After a reboot, the GCS must send the wind again.

Example (pymavlink):

m.mav.wind_send(270.0, 8.0, 0.0)   # wind from 270 deg at 8 m/s
m.mav.wind_send(0.0, 0.0, 0.0)     # override off

The autopilot accepts WIND from any system ID. If other autopilots share the same MAVLink network, set SYSID_ENFORCE 1 so that the autopilot accepts commands only from its GCS (SYSID_MYGCS).

Camera Gimbal Support

KiwiH743-Wing supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).

Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ParamValueNotes
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (reboot after setting)
MNT1_PITCH_MIN-120GM3 V2 spec: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2 spec: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60deg/s for rate control, 0 for angle
RC Control

Assign RC channels to control gimbal axes:

ParamValueNotes
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 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 any Servo PWM outputs (SERVO 9–SERVO 15).

ParamValueNotes
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (assign to desired output)
SERVOx_FUNCTION8Mount1 Yaw (assign to desired output)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60deg/s for rate control, 0 for angle

Displayport OSD

HD OSD via MSP Displayport on SERIAL8 (OSD UART). Compatible with DJI O3, HDZero, Walksnail.

param set OSD_TYPE 5
param set OSD_UNITS 0
param set MSP_OPTIONS 4
param set MSP_OSD_NCELLS 0
param set SERIAL8_BAUD 115
param set SERIAL8_OPTIONS 0
param set SERIAL8_PROTOCOL 42

OSD under INAV

The onboard STM32G4 OSD is a character OSD driven over MSP DisplayPort on UART8, the same link ArduPilot uses. INAV draws a 30x16 character grid onto the analog video.

How it works:

  1. INAV opens UART8 as an MSP DisplayPort port (function MSP DisplayPort in the Ports tab, 115200 baud).
  2. osd_video_system defaults to BF43COMPAT, which matches the font built into the OSD module. INAV draws all symbols, the artificial horizon and the direction arrows with that font.
  3. Font upload from the INAV Configurator is not used on this board. Keep the OSD module’s built-in font.

Factory defaults, applied on defaults or first boot:

SettingValuePurpose
UART8 functionMSP DisplayPort, 115200OSD link
osd_video_systemBF43COMPATMatches the OSD module font, 30x16 grid
feature OSDonEnables the OSD task

Equivalent CLI, if the settings were changed or a config from another board was loaded:

serial 7 33554432 115200 115200 0 115200
set osd_video_system = BF43COMPAT
feature OSD
save

Options you may want to change:

SettingValuesNotes
osd_video_systemBF43COMPAT (default), AUTO, PAL, NTSCKeep BF43COMPAT. AUTO or PAL use the INAV font layout and show letters instead of the horizon line. NTSC gives 30x13.
osd_row_shiftdown0 to 1Moves all elements down one row when the top row is cut off by the camera. Not needed with the layout below.
osd_unitsMETRIC, METRIC_MPH, IMPERIAL, UK, GADisplay units.
osd_msp_displayport_fullframe_intervaldeciseconds, default 10How often INAV resends the whole screen. Raise it only if the link is noisy.
osd_ahi_styleDEFAULT, LINEHorizon drawing style.
osd_crosshairs_styleDEFAULT, AIRCRAFT, …Centre marker. Off in the factory layout.

Element positions are set in the Configurator OSD tab or with osd_layout. The layout below keeps every element inside columns 1 to 28 and rows 1 to 12 so nothing is lost to analog overscan. Column and row are zero based, V is visible, H is hidden:

osd_layout 0 14 2 1 V      # satellites
osd_layout 0 0 7 1 V       # RSSI
osd_layout 0 24 13 1 V     # heading
osd_layout 0 1 22 1 V      # battery voltage
osd_layout 0 15 22 3 V     # altitude
osd_layout 0 26 22 4 V     # vertical speed
osd_layout 0 13 22 5 V     # ground speed
osd_layout 0 3 8 6 V       # artificial horizon
osd_layout 0 9 2 6 V       # throttle
osd_layout 0 11 2 7 V      # current
osd_layout 0 12 2 8 V      # mAh used
osd_layout 0 10 2 9 V      # VTX channel
osd_layout 0 22 14 9 V     # home arrow
osd_layout 0 7 2 10 V      # flight mode
osd_layout 0 23 13 10 V    # home distance
osd_layout 0 28 20 11 V    # on time / fly time
osd_layout 0 30 1 12 V     # messages

Checks in the CLI:

status

The OSD: line must read MSP DisplayPort: DJI Compatability mode [30 x 16]. Any other OSD line means the port function or osd_video_system was changed.

VTX control under INAV uses IRC Tramp on UART2 (function VTX Tramp). Only the two Tramp bands that overlap the module’s factory table are reachable from INAV: INAV band A is vendor band I, INAV band E is vendor band K. Power levels are 25 mW, 2 W and 4 W.


Flight Controller

Built around the STM32H743, the flight controller provides dual IMUs with hardware signal filtering, dual switchable camera inputs, and relay-controlled power outputs.


Power Distribution Board (PDB)

Features

  • 4S–12S power input
  • 5V 5A output
  • 5/6/7/9V 5A adjustable output
  • 12V 5A output
  • 3.3V 1A output
  • 0.1 mOhm current sensor
  • 36 x 39 mm mounting holes
  • 42 x 75 mm board dimensions

Other

FunctionPinNotes
USB D-PA11
USB D+PA12
SWDIOPA13Debug
SWDCLKPA14Debug
BuzzerPA15TIM2 CH1
LEDPD11Status
IMU clockPE6TIM15 CH2, external clock for IMUs
Video NRSTPE3OSD/VTX reset
Video BOOTPC13Shared with AUX 4

Full Pinout Reference

Port A (PA)

PinFunctionAlternate
PA0SERVO 15TIM5 CH1
PA1SERVO 14TIM5 CH2
PA2SERVO 13TIM5 CH3
PA3SERVO 12TIM5 CH4
PA4IMU 1 INT
PA5SPI 1 CLK
PA6SPI 1 MISO
PA7SPI 1 MOSI
PA8SERVO 3
PA9SERVO 2
PA10SERVO 1
PA11USB N
PA12USB P
PA13SWDIO
PA14SWDCLK
PA15BUZZERTIM2 CH1

Port B (PB)

PinFunctionAlternate
PB0SERVO 9
PB1SERVO 8ADC1 IN5
PB2IMU 1 CS
PB3AUX 2
PB4SERVO 10
PB5SERVO 11
PB6I2C 1 SCL
PB7I2C 1 SDA
PB8FDCAN RXTIM16 CH1
PB9FDCAN TXTIM17 CH1
PB10I2C 2 SCL
PB11I2C 2 SDA
PB12Serial 5 RX
PB13Serial 5 TX
PB14Serial 1 TX
PB15Serial 1 RX

Port C (PC)

PinFunctionAlternate
PC0ADC 2ADC1 IN10
PC1ADC 1ADC1 IN11
PC2_CADC 3ADC3 IN0
PC3_CVBAT2 / 21ADC3 IN1
PC4ESC CURRADC1 IN4
PC5VBAT / 21ADC1 IN8
PC6Serial 6 TXTIM3 CH1
PC7Serial 6 RXTIM3 CH2
PC8SDMMC D0TIM3 CH3
PC9SDMMC D1TIM3 CH4
PC10SDMMC D2
PC11SDMMC D3
PC12SDMMC CK
PC13VIDEO BOOT / AUX 4

Port D (PD)

PinFunctionAlternate
PD0Serial 4 RX
PD1Serial 4 TX
PD2SDMMC CMD
PD3RELAY 1
PD4RELAY 2
PD5Serial 2 TX
PD6Serial 2 RX
PD7AUX 1
PD8Serial 3 TX
PD9Serial 3 RX
PD11LED
PD12SERVO 7TIM4 CH1
PD13SERVO 6TIM4 CH2
PD14SERVO 5TIM4 CH3
PD15SERVO 4TIM4 CH4

Port E (PE)

PinFunctionAlternate
PE0Serial 8 RX
PE1Serial 8 TX
PE2CAMERA SWITCH
PE3VIDEO NRST
PE4FDCAN SILENT
PE5AUX 3TIM15 CH1
PE6IMU CLK INTIM15 CH2
PE7Serial 7 RX
PE8Serial 7 TX
PE9Serial 7 RTS
PE10Serial 7 CTS
PE11IMU 2 INTTIM1 CH2
PE12SPI 4 CLKTIM1 CH2
PE13SPI 4 MISOTIM1 CH3
PE14SPI 4 MOSITIM1 CH4
PE15IMU 2 CS