Link Search Menu Expand Document

Qualcomm Flight RB5 External Flight Controller

Repurpose J12 as a UART


Normally, PX4 uses the J12 connector’s UART (3.3V TTL) for an RC input. But, if you want to use an external flight controller you can instead use this UART as a means to communicate using something like MAVLink.

Disable PX4 from Running on DSP

First, you need to disable PX4 from running on target.

systemctl disable rb5-px4-start

Reboot the system.

Create a Cable

This is the J12 pinout.

1VREG_3P3V_RC3.3V Switchable Power Output *
2RC_UART_TX (Output)APPS_QUP_13, 3.3V signal levels
3RC_UART_RX (Input)APPS_QUP_13, 3.3V signal levels

Interface with In Linux

This UART shows up as /dev/ttyHS1. Here’s a simple Python example.

import serial


uart = serial.Serial(uart_dev, 115200, xonxoff=False, rtscts=False, dsrdtr=False)
while True:
	bytes = uart.read_all()
	if len(bytes) > 0:

Repurpose J19 as a UART


Similar to above, on RB5 Flight, J19 has a UART that is typically used for GNSS/PX4. This can be used similar as above using /dev/ttyHS2.

1VDC_5V_LOCAL5V protected Power Output *
2GNSS UART TX (output)APPS_QUP_18, 3.3V signal levels
3GNSS UART RX (input)APPS_QUP_18, 3.3V signal levels
4MAG I2C SCLSSC_QUP_0, 3.3V signal levels, 2.2K Pullup to VREG_3P3V_LOCAL
5MAG I2C SDASSC_QUP_0, 3.3V signal levels, 2.2K Pullup to VREG_3P3V_LOCAL