# PX4 System Console

The system console allows low-level access to the system, debug output and analysis of the system boot process.


The console should be used for debugging if the system won't boot. The MAVLink Shell may otherwise be more suitable, as it is much easier to set up and can be used for many of the same tasks.

# Console Connector

The console is made available through a (board-specific) UART that can be connected to a computer USB port using a 3.3V FTDI (opens new window) cable. This allows the console to be accessed using a terminal application.

Pixhawk controller manufacturers are expected to expose the console UART and SWD (JTAG) debug interfaces through a dedicated debug port that complies with the Pixhawk Connector Standard. Unfortunately some boards predate this standard or a non-compliant.


Developers targeting a number of different boards may wish to use a debug adapter to simplify connecting multiple boards. For example, the Dronecode probe (opens new window) comes with connectors for the Pixhawk Debug Port and several other boards.

Connect the 6-pos JST SH 1:1 cable to the Dronecode probe or connect the individual pins of the cable to a FTDI cable like this:

# Connecting via Dronecode Probe

The System Console UART pinouts/debug ports are typically documented in autopilot overview pages (some are linked below):

# Connecting via FTDI 3.3V Cable

Flight controllers that adhere to the Pixhawk Connector standard use the Pixhawk Standard Debug Port (opens new window).

The port/FTDI mapping is shown below.

Pixracer / Pixhawk v3 - FTDI -
2 +5V (red) N/C
2 UART7 Tx 5 FTDI RX (yellow)
3 UART7 Rx 4 FTDI TX (orange)
4 (blk) SWDIO N/C
+5V (red) SWCLK N/C
6 GND 1 FTDI GND (black)

# Opening the Console

After the console connection is wired up, use the default serial port tool of your choice or the defaults described below:

# Linux / Mac OS: Screen

Install screen on Ubuntu (Mac OS already has it installed):

sudo apt-get install screen
  • Serial: Pixhawk v1 / Pixracer use 57600 baud

Connect screen at BAUDRATE baud, 8 data bits, 1 stop bit to the right serial port (use ls /dev/tty* and watch what changes when unplugging / replugging the USB device). Common names are /dev/ttyUSB0 and /dev/ttyACM0 for Linux and /dev/tty.usbserial-ABCBD for Mac OS.

screen /dev/ttyXXX BAUDRATE 8N1

# Windows: PuTTY

Download PuTTY (opens new window) and start it.

Then select 'serial connection' and set the port parameters to:

  • 57600 baud
  • 8 data bits
  • 1 stop bit