# 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 boards to FTDI cables and debug probes.
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):
- 3DR Pixhawk v1 Flight Controller (also applies to mRo Pixhawk, Holybro pix32)
- Pixhawk 3
- Pixracer
# Pixhawk Debug Port
Pixhawk flight controllers usually come with a Pixhawk Connector Standard Debug Port which will be either the 10 pin Pixhawk Debug Full or 6 pin Pixhawk Debug Mini port.
These ports have pins for console TX and RX which can connect to an FTDI cable. The mapping for the Pixhawk Debug Mini to FTDI 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) |
The SWD Debug Port page and individual flight controller pages have more information about debug port pinouts.
# 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