Peripherals
Peripherals block diagram
Nvidia Jetson peripherals
This section describes Nvidia Jetson peripherals with their minimal usage examples. For detailed connectors pinouts see Connectors and pinouts section.
GPIOs
Setup rules to be able to control gpios from terminal:
You may either need to reboot or reload the udev rules :
Example code: Set gpio64 logic level to LOW and then to HIGH
User controllable GPIOs with their kernel mapping numbers (NANO)
Gpio4
65
5V_AP_SWITCH
Gpio6
64
HUB_ENABLE
Gpio11
200
CAM_MCLK3
Gpio12
194
3V3_IO_PG
Gpio13
38
Free gpio
GPIO_EXP1
502
Free gpio
GPIO_EXP2
503
Free gpio
CAM0_PWDN
412
IMU DRDY
CAM1_PWDN
413
AP DRDY
User controllable GPIOs with their kernel mapping numbers (Xavier NX):
Gpio4
265
5V_AP_SWITCH
Gpio6
267
USB HUB ENABLE
Gpio11
422
CAM_MCLK3
Gpio12
268
3V3_IO_PG
Gpio13
393
Free gpio
GPIO_EXP1
246
Free gpio
GPIO_EXP2
247
Free gpio
CAM0_PWDN
IMU DRDY
CAM1_PWDN
AP DRDY
User controllable GPIOs with their kernel mapping numbers (Orin NX):
Gpio4
gpio-329 (PCC.01)
5V_AP_SWITCH
Gpio6
gpio-331 (PCC.03)
USB HUB ENABLE
Gpio11
gpio-454 (PQ.06)
CAM_MCLK3
Gpio12
gpio-433 (PN.01)
3V3_IO_PG
Gpio13
gpio-391 (PH.00)
Free gpio
GPIO_EXP1
gpio-314
Free gpio
GPIO_EXP2
gpio-315
Free gpio
CAM0_PWDN
gpio-397 (PH.06)
IMU DRDY
CAM1_PWDN
gpio-486 (PAC.00)
AP DRDY
Serial ports
ttyTHS1 = uart to autopilot
ttyTHS2 = uart to 'GPS_Jetson' connector
ttyS0 = uart to GPIO pin header
ttyTHS0 = uart to autopilot
ttyTHS1 = uart to 'GPS_Jetson' connector
ttyTCU0 = debug uart (GPIO pin header)
ttyTHS0 = uart to autopilot
ttyTHS1 = uart to 'GPS_Jetson' connector
Example code: link to git
SPI ports
spidev0.0 = SPI0 (Jetson) connector
spidev0.1 = SPI0 (Jetson) connector
spidev1.0 = accelerometer
spidev1.1 = gyroscope
spidev1.2 = barometer
spidev0.0 = SPI0 (Jetson) connector
spidev0.1 = SPI0 (Jetson) connector
spidev2.0 = accelerometer
spidev2.1 = gyroscope
spidev2.2 = barometer
spidev0.0 = SPI0 (Jetson) connector
spidev0.1 = SPI0 (Jetson) connector
spidev2.0 = accelerometer
spidev2.1 = gyroscope
spidev2.2 = barometer
Example code: link to git
I2C
common
i2c-30 = CSIA connector
i2c-32 = CSIB connector
i2c-31 = CSIC connector
i2c-33 = CSID connector
i2c-35 = CSIE connector
i2c-34 = CSIF connector
i2c-1 = B2B connector (power board)
i2c-0 = GPS(Jetson) connector
i2c-8 = B2B connector (power board)
i2c-1 = GPS(Jetson) connector
i2c-7 = B2B connector (power board)
i2c-1 = GPS(Jetson) connector
Example code: link to git
CSI CAMERAS
Standard camera configuration is based on the usage of Xavier NX. Not all Jetson modules supports the same camera configuration. Please verify the possibilities of the specific module in the module's datasheet.
CSI cameras natively supported on DroneCore.Pilot board (installed with our provided system image): OV9281, IMX219, IMX477, Arducam Jetson cameras series
default camera configuration (with provided system image) is IMX477 on CSIB,CSID,CSIF and IMX219 on CSIA, CSIC, CSIE
for different configuration of supported cameras feel free to contact us
to support custom camera on CSI port the one needs to develop specific v4l2 camera driver with custom device tree. Instructions to do that: CSI camera customizaton.
SD card
Xavier nx supports addressing larger capacity SD 3.0 or SD-XC cards up to 2 TB. Recommended filesystem format is Ext4. Ext4 formatted SD card is automatically mounted after system boot with Airvolute provided system image.
SD card interface has no hot-plug feature, so SD card must be inserted before system boot.
Instructions how to format SD card to Ext4 on Jetson:
Create a GPT partition table by issuing:
sudo parted /dev/mmcblk1 --script -- mklabel gpt
Run the following command to create a EXT4 partition that takes the whole space:
sudo parted /dev/mmcblk1 --script -- mkpart primary ext4 0% 100%
Format the partition to ext4:
sudo mkfs.ext4 -F /dev/mmcblk1p1
Verify it by printing the partition table:
sudo parted /dev/mmcblk1p1 --script print
The Cube peripherals
Signal names of all peripherals related to flight controller corresponds with ardupilot naming conventions. For more information about peripherals usage search on ardupilot wiki page. For detailed connector pinouts see Connectors and pinouts section.
Interconnection Jetson <--> Flight controller unit
Nvidia Jetson is interconnected with flight controller by serial line (UART1(Jetson) <-> SERIAL2(f.c.)) and USB2.0 line. USB2.0 interconnection between Jetson and Cube is active by default, but it is possible to disable it using uhubctl tool.
If USB path interconnecting Jetson and Cube is not disabled in Jetson, it causes USB malfunctions when one needs to connect to Cube by external cable from host PC.
Instructions to disable USB port to Cube:
Install uhubctl:
git clone https://github.com/mvp/uhubctl
cd uhubctl
make
sudo make install
Execute commad in Jetson console:
uhubctl -a off -p 6
Last updated
