# PX4 System Console

The PX4 System Console provides low-level access to the system, debug output and analysis of the system boot process.

TIP

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.

# Wiring the Console

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.

Note

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.

The sections below outline/link to the wiring and system console information for many common boards.

# Board-Specific Wiring

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

# Pixhawk Debug Port

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.

Pixhawk Debug Port - FTDI -
1 (red) TARGET PROCESSOR VOLTAGE N/C (used for SWD/JTAG debugging)
2 (blk) CONSOLE TX (OUT) 5 FTDI RX (yellow)
3 (blk) CONSOLE RX (IN) 4 FTDI TX (orange)
4 (blk) SWDIO N/C (used for SWD/JTAG debugging)
5 (blk) SWCLK N/C (used for SWD/JTAG debugging)
6 (blk) 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
  • Serial: Snapdragon Flight uses 115200 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