Skip to main content
EDGE AI · UAV & DRONES

How Does a Jetson Connect to a Flight Controller?

An NVIDIA Jetson connects to a drone flight controller such as a Pixhawk over a serial UART or Ethernet, and sometimes CAN, usually speaking MAVLink. The Jetson runs the AI and autonomy as the companion computer and sends commands, waypoints and position estimates; the flight controller flies the aircraft and returns telemetry.

01

How the Jetson and flight controller work together

A Jetson flight controller link is the data connection between an NVIDIA Jetson companion computer and the drone’s autopilot board. The two do different jobs. The flight controller, typically a Pixhawk-family board running PX4 or ArduPilot, reads the IMU, barometer, compass and GNSS hundreds of times a second and keeps the aircraft stable. The Jetson runs the heavier software: cameras, AI models, mapping and mission logic.

The Jetson and the flight controller talk over a serial connection or a network link, using the MAVLink protocol that ArduPilot and PX4 both understand. Acting as the companion computer, the Jetson uses that link to send velocity commands, waypoints or a precise position estimate from visual odometry. The flight controller flies the aircraft accordingly and streams telemetry back, so the AI always knows the drone’s attitude, position and battery state.

The split matters for safety. If the Jetson stops sending commands, the flight controller still holds the aircraft and can trigger its own failsafe, such as a hold, return to launch or landing.

02

The interfaces involved

Drone-grade Jetson computers expose the right ports for this. The FLYC-300 provides UART, CAN 2.0 and Ethernet; the iBOX-604-G2 provides CAN FD, UART and RS-232. The choice depends on the flight controller, the data rate and the software stack. Getting the wiring, the baud rate and the failsafe behavior right is part of a safe integration.

  • //
    UART. The simplest MAVLink link and the one most flight controllers expect, usually on a TELEM port at 3.3 V logic. Never wire an RS-232 port straight to a 3.3 V UART: the voltage levels differ.
  • //
    Ethernet. Higher-bandwidth MAVLink over UDP, or DDS for ROS 2. Newer Pixhawk boards such as the Pixhawk 6X have an Ethernet port, and the Holybro Pixhawk Jetson Baseboard joins the two over an on-board Ethernet link.
  • //
    CAN bus. A robust, noise-tolerant bus, including CAN FD on the iBOX-604-G2. On drones it usually carries DroneCAN traffic to GNSS, ESCs and sensors rather than the main companion link.
  • //
    USB. Handy on the bench for setup and log downloads, but a weak choice in flight because connectors can work loose under vibration.
03

MAVLink, DDS and the software stack

MAVLink is a lightweight message protocol for drones. Each message, such as a heartbeat, an attitude report or a position target, is a small packet with a message ID, so it runs well over a slow serial line. On the Jetson side, developers reach it through MAVSDK, pymavlink or MAVROS, and a router such as mavlink-router can share one flight controller link between several programs and a ground station.

Robotics teams working in ROS 2 increasingly use DDS instead. PX4 exposes its internal topics through the uXRCE-DDS bridge, and recent ArduPilot releases add DDS support, so the Jetson can subscribe to vehicle state as ordinary ROS 2 topics. Both protocols can run side by side: DDS for the autonomy stack, MAVLink for the ground station.

Link Typical protocol Bandwidth Best for Watch for
UART (TELEM port) MAVLink or uXRCE-DDS Typically 57,600 to 921,600 baud Commands, telemetry, position estimates Matching baud rates, 3.3 V logic levels
Ethernet MAVLink over UDP or DDS 100 Mb/s and up ROS 2 stacks, high-rate telemetry, logs Flight controller must have a port
CAN / CAN FD DroneCAN 1 Mb/s (CAN), higher data phase on CAN FD GNSS, ESCs, sensors, payload control Bus termination, node IDs
USB MAVLink Full speed and up Bench set-up and log download Loose connectors in flight

Our guide to NVIDIA Jetson for drones covers the wider companion computer design, from cameras to power.

FAQ · 01
What is a drone companion computer?
A small AI computer that runs alongside the flight controller on a UAV. The flight controller flies the aircraft; the companion computer runs computer vision and AI for autonomy such as obstacle avoidance, navigation and object detection. NVIDIA Jetson is the common choice because it gives high AI performance at a weight light enough to fly.
Read the full FAQ —
04

Wiring and set-up in practice

A typical first build pairs a Jetson Orin module with a Pixhawk over UART. The flight controller’s TELEM2 port is set to the companion computer role, the baud rate is matched on both ends and TX goes to RX in each direction, with a shared ground. On the Jetson, the UART appears as a Linux serial device, and the MAVLink software opens it at the chosen rate.

Where the drone also uses CAN for GNSS or ESCs, the Jetson can join the bus through its own CAN bus controller to read sensors or drive a payload, using SocketCAN on Linux. Ethernet is the better route when the autonomy stack runs ROS 2, or when several programs need the flight data at a high rate.

  • //
    Match the rates. A mismatched baud rate shows up as garbled or missing messages, not an obvious error.
  • //
    Plan the failsafes. Set what the flight controller does if companion messages stop: hold, return to launch or land.
  • //
    Secure the connectors. Locking connectors and strain relief stop a link dropping out under vibration.
  • //
    Separate the power. Feed the Jetson from its own regulated supply so a brownout cannot reset both boards together.
05

Choosing a Jetson for the link

Every current Jetson module has the UART, CAN and Ethernet controllers this link needs; the carrier board decides which ones reach a connector. For most drones the choice comes down to AI workload, weight and power, and the Jetson Orin NX computers are the usual balance for multi-camera vision. Cameras such as GMSL2 camera links connect to the Jetson, not to the flight controller, so the companion computer also needs the right camera inputs.

06

Quick answers on Jetson flight controller links

Jetson and flight controllers: common questions

Can a Jetson replace the flight controller?

Not usually. A flight controller runs a real-time autopilot on a microcontroller with its own sensors and tight timing. Linux on a Jetson is not built for that inner loop, so the two stay separate and the Jetson acts as the companion computer.

Does the Jetson work with both PX4 and ArduPilot?

Yes. Both speak MAVLink, so the same Jetson software can talk to either. ROS 2 users can also use DDS: PX4 through its uXRCE-DDS bridge, and ArduPilot through its own DDS support.

What baud rate should the link use?

Typically 921,600 baud for a companion computer. Lower rates such as 57,600 work for basic telemetry but limit how fast position estimates and commands can flow. Both ends must be set to the same rate.

What is the Pixhawk Jetson baseboard?

A carrier board that holds both. It combines a Pixhawk flight controller module and a Jetson Orin module on one board, linked internally, which saves wiring on development and small production drones.

Is MAVLink encrypted?

Not by default. MAVLink 2 supports message signing to authenticate traffic, but not encryption. Links that leave the aircraft, such as telemetry radios, need their own security.

We build the Jetson companion computer for drone projects as standard, fit the carrier board, cameras and storage, and set up the flight controller link and its failsafes before the system ships. Tell us your flight controller, firmware and payload, and we will specify the interfaces to match.