Board Automation#
The carrier boards of the following NVIDIA developer kits provide interfaces for board automation and UART debug output:
NVIDIA Jetson AGX Thor Developer Kit includes a USB-C port.
NVIDIA Jetson AGX Orin™ Developer Kit includes a USB micro-B port.
NVIDIA Jetson Orin™ Nano Developer Kit has a 12-pin automation header (connector J14).
You can control the carrier board of Jetson AGX Orin and Thor Developer Kits with an integrated board automation solution that connects to the host PC via a full-speed USB interface. Through this interface the host PC can
Communicate with the NVIDIA Jetson UART port.
Automate commands like power on, power off, reset, and recovery.
Host System Setup#
These instructions are for users of Ubuntu 18.04 or Ubuntu 20.04, but can be adapted for other distributions.
The software for interacting with the target carrier board can be found in Linux_for_Tegra/tools/board_automation/
.
To eliminate the need to use sudo
to interact with the carrier board, NVIDIA recommends that you create a udev rule:
To create a udev rule for a Jetson AGX Orin Developer Kit target:
Add the following into
/etc/udev/rules.d/99-mcurule.rules
:SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7045", GROUP="plugdev", TAG+="uaccess"
Reload rules:
$ sudo udevadm control --reload-rules && sudo udevadm trigger
To create a udev rule for a Jetson Orin Nano Developer Kit target:
Add the following into
/etc/udev/rules.d/99-mcurule.rules
:SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7020", GROUP="plugdev", TAG+="uaccess"
Reload the rules:
$ sudo udevadm control --reload-rules && sudo udevadm trigger
Basic Board Control#
Following are some examples that demonstrate typical uses of the boardctl
script to help you get started. You can run them as shown from Linux_for_Tegra/
, the directory in which you normally execute the flash
script.
Note that the power_on
and recovery
commands implicitly power cycle the target.
For Jetson AGX Thor#
Recovery: power off, force recovery, and power on:
$ ./tools/board_automation/boardctl -t thor-jetson recovery
Power off:
$ ./tools/board_automation/boardctl -t thor-jetson power_off
Power off, then power on:
$ ./tools/board_automation/boardctl -t thor-jetson power_on
Reset (no effect on power state):
$ ./tools/board_automation/boardctl -t thor-jetson reset
For Jetson AGX Orin#
Recovery: power off, force recovery, and power on:
$ ./tools/board_automation/boardctl -t orin-jetson recovery
Power off:
$ ./tools/board_automation/boardctl -t orin-jetson power_off
Power off, then power on:
$ ./tools/board_automation/boardctl -t orin-jetson power_on
Reset (no effect on power state):
$ ./tools/board_automation/boardctl -t orin-jetson reset
For Jetson Orin Nano#
The J14 button header exposes the following pins externally for board control:
Pin 8 - System Reset
Pin 10 - Force Recovery
Pin 12 - Power button
UART Access#
You can access UART through the following:
For NVIDIA Jetson AGX Orin and NVIDIA Jetson Thor, the board automation module exposes four serial ports (
/dev/ttyACM<n>
).For NVIDIA Jetson Orin Nano, connect a 3.3V UART-to-USB adapter to pins on the J14 button header:
Jetson UART2 TXD - Pin 3 (connect to UART_RXD of adapter)
Jetson UART2 RXD - Pin 4 (connect to UART_TXD of adapter)
Jetson GND - Pin 11 (connect to GND of adapter)
Use the following commands to determine which serial port supports the board automation module or FTDI console. For the correct port, the commands display values similar to the ones shown.
For Jetson AGX Thor:
$ sudo udevadm info -q all -n /dev/ttyACM0 | grep -E "(ID_MODEL|ID_VENDOR)"
E: ID_VENDOR_ID=0955
E: ID_MODEL_ID=7045
E: ID_VENDOR_FROM_DATABASE=NVIDIA Corp.
E: ID_VENDOR=NVIDIA
E: ID_VENDOR_ENC=NVIDIA
E: ID_MODEL=Tegra_On-Platform_Operator
E: ID_MODEL_ENC=Tegra\x20On-Platform\x20Operator
For Jetson AGX Orin:
$ sudo udevadm info -q all -n /dev/ttyACM0 | grep -E "(ID_MODEL|ID_VENDOR)"
E: ID_VENDOR_ID=0955
E: ID_MODEL_ID=7045
E: ID_VENDOR_FROM_DATABASE=NVIDIA Corp.
E: ID_VENDOR=NVIDIA
E: ID_VENDOR_ENC=NVIDIA
E: ID_MODEL=Tegra_On-Platform_Operator
E: ID_MODEL_ENC=Tegra\x20On-Platform\x20Operator
For Jetson Orin Nano:
$ sudo udevadm info -q all -n /dev/ttyACM0 | grep -E "(ID_MODEL|ID_VENDOR)"
E: ID_VENDOR_ID=0955
E: ID_MODEL_ID=7020
E: ID_VENDOR_FROM_DATABASE=NVIDIA Corp.
E: ID_VENDOR=NVIDIA
E: ID_VENDOR_ENC=NVIDIA
E: ID_MODEL=Tegra_On-Platform_Operator
E: ID_MODEL_ENC=Tegra\x20On-Platform\x20Operator
The console port is physically connected to UART3 (the debug UART). Typical usage is:
$ minicom -D /dev/ttyACM0