TRD1 F4B
Overview
TRD1 F4B extends the official NVIDIA Jetson AGX THOR Developer Kit with FPDLINK connectivity, enabling rapid integration of FPDLINK camera streams on the THOR platform. Supports up to eight FPDLINK cameras.

Key Features and Application
Features:
• Support NVIDIA JETSON THOR Platform
• Supported Camera Resolutions :Max 3840*2160
• Supported Camera Output Formats : RAW / YUV422
• Dimensions:L:243.12mm x W:112.4mm x H:56.88mm
• Compatible Camera Types :FPDLINK Ⅲ、FPDLINK Ⅳ
• Maximum Supported Cameras :8 *FPDLINK
• SOC:NVIDlA Jetson T5000 Module
• Al Perfommance:2070 TFLOPS
• Memory:128 GB 256-bit LPDDR5X
Application:
• Robotics
• Industrial
• Medical
• Inspection
Getting Started
Hardware Overview

Block Diagram

Supported Camera List
You may choose the following camera combinations to connect to the TRD1 F4B.
| Camera Combination | Number of Supported Cameras | Jetpack 7.0 |
|---|---|---|
| Comb. 1 | 4*8MP/30FPS | - |
| Comb. 2 | 8*3MP/30FPS | - |
| Comb. 3 | 2 *8MP/30FPS+4 *3MP/30FPS | - |
| Comb. 4 | 1 *8MP/30FPS+2 *2MP/30FPS+4 *3MP/30FPS | - |
NVIDIA JetPack (Jetpack 7.0 ) is the official software development kit (SDK) for the Jetson series of development boards. It includes the operating system, drivers, CUDA, cuDNN, TensorRT, and other development tools and libraries. Each JetPack version typically corresponds to a specific Jetson Linux version (formerly known as L4T - Linux for Tegra).
- 36.4.3: L4T R36.4.3 (Jetpack 6.2)
- 36.4: L4T R36.4 (Jetpack 6.1)
- 36.3: L4T R36.3 (Jetpack 6.0)
- 35.4.1: L4T R35.4.1 (Jetpack 5.1.2)
For more information, visit NVIDIA's official Jetson Download Center.
Hardware Preparation
Parts List
| Serial number | Product model | Quantity | Remark |
|---|---|---|---|
| 1 | 945-14070-0080-000-MIPI | 1 | up to 8 cameras at most |
| 2 | T4JC-JC-ZZZZ-0500L (Female to Female 0.5m) | 2 | Standard configuration |
| 3 | Trigger Cable | 1 | Standard configuration |
| 4 | Power Conversion Cable | 1 | Standard configuration |
| 5 | Power adapter | 1 | Standard configuration |
| 6 | Multi-functional conversion socket | 1 | optional configuration |
Kit Contents

Installation Steps
- Connect the GMSL camera to the TRD1 F4B using the coaxial cable(up to 8 cameras at most)
- Connect the power supply(DC 9-16V)
- Power on the system(Jetson Thor)

Software Preparation
SDK Download
Select the appropriate driver package based on your camera type and JetPack version:
| Camera Type | JetPack Version | Download Link |
|---|---|---|
| GMSL2 Camera (YUV) | JP7.0 | Download |
Copy the full link address to DownGit to download
Quick Bring Up
We can use NVIDIA SDK Manager Linux Software or directly use the NVIDIA Linux Driver Package via Linux command line to flash JetPack OS into the NVIDIA Jetson device. For beginners, we highly recommend NVIDIA SDK Manager.
Jetpack version
- Jetpack 7.0 L4TR38.2.1
Supported Camera Modules
-
SG2-AR0233C-5200-F3A-Hxxx
- support max 8 cameras to bring up at the same time
-
SG8S-AR0820C-5300-F4A-Hxxx
- support max 4 cameras to bring up at the same time
-
SG3S-ISX031C-F4A-Hxxx
- support max 8 cameras to bring up at the same time
-
SG3S-ISX031C-F3A-Hxxx
- support max 8 cameras to bring up at the same time
Quick Bring Up
-
Connect the Camera to the ports on the adapter board.
CN1 (CAM4/CAM5/CAM6/CAM7)
CN2 (CAM0/CAM1/CAM2/CAM3)The correspondence between CAM ports and device nodes is as follows:
PORT DeviceTree Node DEV NODE
CN1(COAX0) cam_4 /dev/video4
CN1(COAX1) cam_5 /dev/video5
CN1(COAX2) cam_6 /dev/video6
CN1(COAX3) cam_7 /dev/video7
CN2(COAX4) cam_0 /dev/video0
CN2(COAX5) cam_1 /dev/video1
CN2(COAX6) cam_2 /dev/video2
CN2(COAX7) cam_3 /dev/video3Power Supply
SG8-AGX-Thor-9724 adapt board need to be powered by 12V.
-
Enter the driver directory,
cd TRD1_F4B_AGX_THOR_FPDx8_YUV_JP7.0_L4TR38.2.1
chmod a+x ./install.sh
./install.sh -
Use the "sudo /opt/nvidia/jetson-io/jetson-io.py" command to select the corresponding device
sudo /opt/nvidia/jetson-io/jetson-io.py
1.select "Configure Jetson AGX CSI Connector"
2.select "Configure for compatible hardware"
3.select "Jetson Sensing SG8_AGX_F4_A1 YUV FPD4x8"
4.select "Save pin changes"
5.select "Save and reboot to reconfigure pins" -
After the device reboot,modify the "load_module.sh" script .
4.1 Modify the script "load_modules.sh"
4.1.1 Modify the video device configuration command lines.
The following commands are used to configure the cameras recognized as video0 to video7 in the system. It is necessary to adjust the command parameters sensor_mode, trig_mode, and trig_pin in accordance with the camera model and the connection employed.
v4l2-ctl -d /dev/video0 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video1 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video2 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video3 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video4 -c sensor_mode=0,trig_mode=0,trig_pin=0x00020000
v4l2-ctl -d /dev/video5 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video6 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000
v4l2-ctl -d /dev/video7 -c sensor_mode=0,trig_mode=0,trig_pin=0x00000000Regarding the sensor_mode parameter, its value is related to the camera model and is presented as follows:
SG2-AR0233C-5200-F3A-Hxxx(1920X1080): sensor_mode=0;
SG3S-ISX031C-F4A-Hxxx(1920X1536): sensor_mode=1;
SG3S-ISX031C-F3A-Hxxx(1920X1536): sensor_mode=1;
SG8S-AR0820C-5300-F4A-Hxxx(3840X2160): sensor_mode=3.The "trig_mode" and "trig_pin" parameters denote the trigger mode and the corresponding trigger pin to be utilized.
For Auto-trigger Mode (The cameras are triggered automatically upon camera activation. However, the cameras are not synchronized):trig_mode=0;trig_pin=0x00000000
For Jetson Orin Trigger Mode (The cameras are triggered and synchronized through the trigger signal generated from the Jetson Orin):trig_mode=1;trig_pin=0x00000000
For External-Trigger mode (The cameras are synchronously triggered via the trigger signal generated by the external signal generator that is connected to the trigger Pin of the Kit):trig_mode=1;trig_pin=0x000200004.1.2 Modify the driver module parameter :
If you desire to utilize a combination of FPD3 (with F3 identifier: XXX - F3A - XXX) cameras and FPD4 (with F4 identifier: XXX - F4A - XXX) cameras, the following methods have been provided for your utilization.
a.Determine the corresponding camera type for each camera channel
b.Modify the enable_fpd4_0 and enable_fpd4_1 parameter of the following driver loading command , where X for FPD4 is represented by (1) and FPD3 is represented by (0).
sudo insmod ko/sgx-yuv-fpd4.ko enable_fpd4_0=X,X,X,X enable_fpd4_1=X,X,X,X
In the following example:
sudo insmod ko/sgx-yuv-fpd4.ko enable_fpd4_0=1,1,0,0 enable_fpd4_1=0,0,1,1enable_fpd4_0 represents the first input channel. The value
1,1,0,0indicates that the cam_0 and cam_1 cameras operate in FPD4 mode, while the cam_2 and cam_3 cameras operate in FPD3 mode.enable_fpd4_1 represents the second input channel. The value
0,0,1,1indicates that the cam_4 and cam_5 cameras operate in FPD3 mode, while the cam_6 and cam_7 cameras operate in FPD4 mode. -
Bring up the camera
5.1 run the script "load_module.sh".
sudo ./load_modules.shAfter the module is loaded, the device nodes /dev/video0~video7 will be generated.
5.2 run the gst - launch - 1.0 in a terminal.
## COAX4
gst-launch-1.0 v4l2src device=/dev/video0 ! xvimagesink -ev
## COAX5
gst-launch-1.0 v4l2src device=/dev/video1 ! xvimagesink -ev
## COAX6
gst-launch-1.0 v4l2src device=/dev/video2 ! xvimagesink -ev
## COAX7
gst-launch-1.0 v4l2src device=/dev/video3 ! xvimagesink -ev
## COAX0
gst-launch-1.0 v4l2src device=/dev/video4 ! xvimagesink -ev
## COAX1
gst-launch-1.0 v4l2src device=/dev/video5 ! xvimagesink -ev
## COAX2
gst-launch-1.0 v4l2src device=/dev/video6 ! xvimagesink -ev
## COAX3
gst-launch-1.0 v4l2src device=/dev/video7 ! xvimagesink -evIf the above steps are properly completed, the next time you reboot the device, you need only run the "sudo ./load_modules.sh" command to load the drivers, and then run the gst - launch - 1.0 in a terminal.
-
Provide Trigger Sync signal
Modify load_modules.sh script and re-run it.
v4l2-ctl -d /dev/video0 -c sensor_mode=0,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video1 -c sensor_mode=1,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video2 -c sensor_mode=1,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video3 -c sensor_mode=1,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video4 -c sensor_mode=1,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video5 -c sensor_mode=1,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video6 -c sensor_mode=3,trig_pin=0x00000000,trig_mode=1
v4l2-ctl -d /dev/video7 -c sensor_mode=3,trig_pin=0x00000000,trig_mode=16.1 External Trigger Mode
When utilize a external trigger singanl generator to provide external trigger signal ,the trigger source should be connect to the CN4 6-PIN connector: PIN2 (CAM-FSYNC2) corresponds to the external trigger signal for cameras of CN1, PIN4 (CAM-FSYNC4) corresponds to the external trigger signal for cameras of CN2, PIN6 is the Ground pin. Connect the positive pole of the trigger signal source to PIN2 and PIN4 to synchronize all cameras. Connect the Negative pole of the tirgger signal source to PIN6 .
6.2 Jetson Orin Trigger Mode
When utilize Jetson Orin Trigger Mode,it is required to configurate the trigger signal generated from the Jetson Orin via the following steps.
a.load the driver
sudo insmod ko/pwm-gpios.ko
b.Export PWM channel 0 (pwmchip4 is a newly generated node after loading the driver)
echo 0 > /sys/class/pwm/pwmchip4/export
c.Set the period to 33333333 (corresponding to 30 Hz)
echo 33333333 > /sys/class/pwm/pwmchip4/pwm0/period
d.Set the duty cycle
echo 30000000 > /sys/class/pwm/pwmchip4/pwm0/duty_cycle
e.Enable PWM output
echo 1 > /sys/class/pwm/pwmchip4/pwm0/enable
Integration with SENSING Driver Source Code
-
Compile Image & dtb Refer to the following command to integrate Dtb and Kernel source code to your kernel
cp camera-driver-package/source/hardware Linux_for_Tegra/source/hardware -r
cp camera-driver-package/source/kernel Linux_for_Tegra/source/kernel -r
cp camera-driver-package/source/nvidia-oot Linux_for_Tegra/source/nvidia-oot -r -
Go to the root directory of your source code and recompile
cd <install-path>/Linux_for_Tegra/source
export CROSS_COMPILE_AARCH64=toolchain-path/bin/aarch64-buildroot-linux-gnu-
export KERNEL_HEADERS=$PWD/kernel/kernel-noble
export INSTALL_MOD_PATH=<install-path>/Linux_for_Tegra/rootfs/
make -C kernel
make modules
make dtbs
sudo -E make install -C kernel
cp kernel/kernel-noble/arch/arm64/boot/Image <install-path>/Linux_for_Tegra/kernel/Image
cp nvidia-oot/device-tree/platform/generic-dts/dtbs/* <install-path>/Linux_for_Tegra/kernel/dtb/ -
Install the newly generated Image and dtb to your nvidia device and reboot to let them take effect
dtb:nvidia-oot/device-tree/platform/generic-dts/dtbs/
Image: kernel/kernel-noble/arch/arm64/boot/
tegra-camera.ko:nvidia-oot/drivers/media/platform/tegra/camera/
nvhost-nvcsi.ko:nvidia-oot/drivers/video/tegra/host/nvcsi/ -
Copy the image,dtb,ko generated by the above compilation to the corresponding location of jetson
sudo cp *.dtbo /boot/
sudo cp Image /boot/Image
sudo cp tegra-camera.ko /lib/modules/6.8.12-tegra/updates/drivers/media/platform/tegra/camera/
sudo cp nvhost-nvcsi.ko /lib/modules/6.8.12-tegra/updates/drivers/video/tegra/host/nvcsi/ -
Select the device tree you installed
sudo /opt/nvidia/jetson-io/jetson-io.py
1.select "Configure Jetson AGX CSI Connector"
2.select "Configure for compatible hardware"
3.select "Jetson Sensing SG8_AGX_F4_A1 YUV FPD4x8"
4.select "Save pin changes"
5.select "Save and reboot to reconfigure pins" -
Install camera driver
sudo insmod ./ko/ti9724.ko
sudo insmod ./ko/sgx-yuv-fpd4.ko -
Bring up the camera
## COAX4
v4l2-ctl -d /dev/video0 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video0 ! xvimagesink -ev
## COAX5
v4l2-ctl -d /dev/video1 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video1 ! xvimagesink -ev
## COAX6
v4l2-ctl -d /dev/video2 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video2 ! xvimagesink -ev
## COAX7
v4l2-ctl -d /dev/video3 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video3 ! xvimagesink -ev
## COAX0
v4l2-ctl -d /dev/video4 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video4 ! xvimagesink -ev
## COAX1
v4l2-ctl -d /dev/video0 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video5 ! xvimagesink -ev
## COAX2
v4l2-ctl -d /dev/video0 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video6 ! xvimagesink -ev
## COAX3
v4l2-ctl -d /dev/video0 -c sensor_mode=?,trig_pin=?
gst-launch-1.0 v4l2src device=/dev/video7 ! xvimagesink -ev