デッドライト

Connecting a Pixhawk 2.4.8 to NVIDIA Jetson Nano companion-computer for autonomous UAV

By thatch | 12/5/2025
1

1. Hardware You Need

2. Wiring (Most Common and Reliable)

Use TELEM2 port on Pixhawk 2.4.8 → Jetson Nano J41 header (UART1, /dev/ttyTHS1 on newer JetPack or /dev/ttyS0 on older)

Pixhawk TELEM2 Pin (DF13) Jetson Nano 40-pin Header Description
Pin 1 (+5V) Do NOT connect Leave floating
Pin 2 (TX) Pin 10 (UART1_RX) Pixhawk TX → Nano RX
Pin 3 (RX) Pin 8 (UART1_TX) Pixhawk RX → Nano TX
Pin 4 (CTS) Optional, usually NC Not needed for MAVLink
Pin 5 (RTS) Optional, usually NC Not needed
Pin 6 (GND) Pin 6, 9, or any GND Ground

Critical: Only connect TX, RX, and GND (3 wires). Do not connect the 5V pin or you risk frying the Nano.

If you use a standard Pixhawk 6-pin to 4-pin FTDI cable (very common), the pinout is usually already correct when you plug the black wire (GND) toward the edge of the Nano.

3. Pixhawk Side Configuration (ArduPilot – most people use this)

Mission Planner or QGroundControl → Parameters:

Parameter Value Notes
SERIAL2_PROTOCOL 2 MAVLink 2
SERIAL2_BAUD 57600 or 921600 57600 is safe; 921600 needs good cable
BRD_SER2_RTSCTS 0 Disable hardware flow control (important!)

For PX4 instead of ArduPilot:

In QGroundControl → Parameters → MAV_1_CONFIG → TELEM 2
Set baud rate (usually 576115) and MAVLink instance.

4. Jetson Nano Side (Software)

JetPack 4.6+ (Ubuntu 18.04) is most common and stable.

Disable the serial console that grabs the port:

sudo systemctl stop nvgetty
sudo systemctl disable nvgetty
sudo udevadm trigger

Check which device appears:

ls -l /dev/ttyTHS*   # usually /dev/ttyTHS1 on JetPack 4.6
# or /dev/ttyS0 on some older images

Test with MAVProxy or pymavlink:

pip3 install pymavlink mavproxy dronekit
mavproxy.py --master=/dev/ttyTHS1 --baudrate 576000 --aircraft MyCopter

Or with ROS/MAVROS (very common on Nano):

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod +x install_geographiclib_datasets.sh && ./install_geographiclib_datasets.sh

# Then launch example:
roslaunch mavros px4.launch fcu_url:="udp://:14550@127.0.0.1:14557" gcs_url:="" fcu_protocol:=v2.0 serial:=/dev/ttyTHS1 baud:=576000

Use the actual device and baud rate you set.

5. Optional – Higher Speed (921600 baud)

Works fine with short (<30 cm) good cables:

Common Problems & Fixes

That’s it! This exact setup has been used on thousands of drones with Pixhawk 2.4.8 + Jetson Nano for computer vision, ROS, offboard control, etc.

If you want a plug-and-play cable, search AliExpress for “Pixhawk 2.4.8 to Jetson Nano TELEM cable” – many sellers make exactly the 3-wire version now.

Previous: jetson mav stack Next: Proxy Test Plan

Comments

testing on actual drones?