Files
PX4-Autopilot/docs/en/flight_controller/ark_v6xrt.md
T
Hamish Willee ba5a120c06 docs(docs): DroneCAN ESC and ark 6rt RC fix (#28503)
* DroneCAN ESC armingstatus and relnote

* Shrink ard6xrt images

* docs(docs): Fix up RC section of docs

* docs(docs): IO module docs include protocols
2026-09-02 13:09:03 +10:00

9.6 KiB

ARK Electronics ARKV6X-RT

::: warning PX4 does not manufacture this (or any) autopilot. Contact the manufacturer for hardware support or compliance issues. :::

The USA-built ARKV6X-RT flight controller is an NXP i.MX RT1176 variant of the ARKV6X, derived from the FMUv6X-RT and Pixhawk Autopilot Bus open source standards.

With triple synced IMUs, data averaging, voting, and filtering are possible.

ARKV6X-RT Top

ARKV6X-RT Bottom

::: info This flight controller is manufacturer supported. :::

::: tip This flight controller is a module and requires a carrier board to work. The Pixhawk Autopilot Bus (PAB) form factor enables the ARKV6X-RT to be used on any PAB-compatible carrier board, such as the ARK Pixhawk Autopilot Bus Carrier. Which ports and outputs are physically broken out depends on the carrier. :::

Where to Buy

Order from ARK Electronics (US).

Specifications

  • Processor
    • Main FMU processor: NXP i.MX RT1176 (Arm® Cortex®-M7 at 996 MHz, 2 MB RAM). The second Cortex®-M4 core is unused by PX4.
    • Code store: no internal flash. Code executes in place from a 64 MB external octal NOR on FlexSPI1, of which PX4 uses the first 4 MB.
    • IO processor: PX4IO v2, on carriers that fit one.
  • Sensors
  • Interfaces
    • PWM outputs: 12 FMU outputs, plus 8 more from PX4IO on carriers that fit one
    • Serial ports: 8 (GPS1, GPS2, TELEM1, TELEM2, TELEM3, TELEM4, PX4IO/RC, Debug Console)
    • I2C buses: 4 (I2C3 internal, the rest external)
    • SPI buses: 4, of which SPI6 is external with 2 chip selects and 2 data-ready lines
    • CAN buses: 2 enabled by default. PAB pins out a third; no ARK carrier breaks it out.
    • Ethernet: 100BASE-T (ENET2)
    • USB: Yes
    • RC input: Yes
    • Parameter storage: FRAM (FM25V02A) on FlexSPI2
    • SD card: MicroSD slot
  • Electrical data
    • Input voltage: 5 V
    • Current draw: 500 mA (300 mA main system, 200 mA heater)
    • Power monitoring: 2 digital power bricks, INA226 by default
  • Mechanical data

IMUs

Each IMU sits on its own SPI bus with an independent power rail and data-ready line:

IMU Bus Full scale Publish rate
ICM-45686 SPI1 ±32 g / ±4000 dps 800 Hz
IIM-20670 SPI2 ±65.5 g / ±1966 dps 1000 Hz
LSM6DSV80X SPI3 ±16 g / ±4000 dps 768 Hz

The ICM-45686 is the primary. The IIM-20670 is started last deliberately: its on-chip gyro low-pass cannot be set above 60 Hz, which introduces too much group delay for the rate loop, so it serves as a navigation and fallback IMU.

The LSM6DSV80X publishes its ±16 g accelerometer channel; the part's ±80 g high-g element is unused.

HEATER1_SENS_ID defaults to the ICM-45686. Run the accelerometer calibration only after heater status reports the setpoint has been reached.

Pinout

For the pinout of the ARKV6X-RT see the DS-010 Pixhawk Autopilot Bus Standard.

Serial Port Mapping

UART Device Port Flow Control
LPUART1 /dev/ttyS0 Debug Console No
LPUART3 /dev/ttyS1 GPS1 No
LPUART4 /dev/ttyS2 TELEM1 Yes
LPUART5 /dev/ttyS3 GPS2 No
LPUART6 /dev/ttyS4 PX4IO / RC No
LPUART8 /dev/ttyS5 TELEM2 Yes
LPUART10 /dev/ttyS6 TELEM3 Yes
LPUART11 /dev/ttyS7 TELEM4 No

::: info The mapping above applies to the running PX4 firmware. The ARKV6X-RT bootloader enables only LPUART8 (TELEM2), so when flashing firmware over UART with px4_uploader.py you must connect to the TELEM2 port — no other UART will respond in bootloader mode. :::

PWM Outputs

The module provides 12 FMU PWM outputs, and 8 more from PX4IO on carriers that fit one. How many reach a connector depends on the carrier board.

FMU outputs 1-8 support DShot and Bidirectional DShot; outputs 9-12 are PWM only.

Each FMU output has its own FlexPWM submodule, so, unlike an STM32 target, there are no output groups: protocol and rate can be set per output.

Radio Control

A remote control (RC) radio system is required if you want to manually control your vehicle (PX4 does not require a radio system for autonomous flight modes).

You will need to select a compatible transmitter/receiver and then bind them so that they communicate (read the instructions that come with your specific transmitter/receiver).

The RC port on your carrier board will behave differently depending on whether or not it includes an IO board:

  • Carrier without PX4IO (RC wired to FMU):
    • CRSF receivers are enabled by default.
    • You can enable other protocols by mapping them to the port using their associated parameters, such as RC_DSM_PRT_CFG, RC_GHST_PRT_CFG, RC_SBUS_PRT_CFG. Note that only one protocol can be active on a port, so you will have to first disable RC_CRSF_PRT_CFG.
  • Carrier with PX4IO (RC wired to PX4IO):
    • The IO board autodetects and connects to receivers that use protocols supported by the IO driver: PPM (CPPM), S.BUS, S.BUS2, Spektrum DSM / DSM2 / DSM-X, Yuneec ST24, Graupner SUMD.
    • For other protocols, connect your receiver to any unused FMU serial port and enable the corresponding parameter as shown above (you will need to do this for GHST and CRSF receivers).

GPS & Compass

PX4 supports GPS modules connected to the GPS ports listed below. The module should be mounted on the frame as far away from other electronics as possible, with the direction marker pointing towards the front of the vehicle.

The GPS ports are:

  • GPS1 (LPUART3): safety switch, buzzer, LED, and compass I2C on a PAB carrier
  • GPS2 (LPUART5): basic GPS port

The onboard IIS2MDC is on an internal bus and is intended as a backup. An external compass in a GPS/compass module is normally used for yaw.

Power

The module is powered from the carrier board over the PAB connector, so the power connector type and its ratings are properties of the carrier. The voltage the module itself accepts is under Specifications.

Two digital power bricks are supported. SENS_EN_INA226 is enabled by default; the INA228 and INA238 drivers are also built in for carriers that fit those parts. An ADS1115 external ADC can be enabled with ADC_ADS1115_EN for analog monitoring instead.

For battery and power module configuration see Battery and Power Module Setup.

Debug Port

The PX4 System Console runs on LPUART1, and the SWD interface is brought out alongside it, both on the carrier's FMU Debug connector.

Building Firmware

To build PX4 for this target:

make ark_fmu-v6xrt_default

Uploading over USB works as it does on any other board once a bootloader is present:

make ark_fmu-v6xrt_default upload

A board with no bootloader — or a wiped NOR — has to be recovered over SWD. Because the RT1176 has no internal flash, this needs NXP's device family pack for the flash algorithm and a FlexSPI preconditioning step; see the board README for the procedure.

See Also