Jetson Orin Nano Developer Kit with JetPack 7.2
Instruction
TechNexion Embedded Vision Solutions provide embedded system developers access to high-performance, industrial-grade camera solutions to accelerate their time to market for embedded vision projects.
Supported Platforms
| Platform | Supported JetPack | Installer Selection | GMSL2 Adaptor |
|---|---|---|---|
| Jetson Orin Nano Developer Kit | JetPack 7.2 | Jetson Orin Nano | VL-GM2-8CAM-RPI22 |
Supported Camera Modules
| Camera Series | Products |
|---|---|
| VLS-GM2 | VLS-GM2-AR0144 VLS-GM2-AR0145 VLS-GM2-AR0234 VLS-GM2-AR0235 VLS-GM2-AR0246 VLS-GM2-AR0521 VLS-GM2-AR0522 VLS-GM2-AR0544 VLS-GM2-AR0821 VLS-GM2-AR0822 VLS-GM2-AR0830 VLS-GM2-AR1335 VLS-GM2-AR2020 |

More Camera Products Details...
Install TN Camera on Jetson Orin Nano Developer Kit
Adaptor for NVIDIA Jetson Orin Nano Developer Kit
Use the VL-GM2-8CAM-RPI22 adaptor for VLS-GM2 cameras on Jetson Orin Nano Developer Kit. For adaptor pinout and power details, see VL-GM2-8CAM-RPI22.
Method 1 - Using TechNexion pre-built modules
Set up the Jetson Orin Nano Developer Kit with NVIDIA JetPack 7.2 first, then install the TechNexion camera driver package for JetPack 7.2.
-
Download pre-built modules.
wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/pre-built-modules/latest/JP72/tn_camera_modules_jp72.tar.gz -
Uncompress the modules.
tar -xf tn_camera_modules_jp72.tar.gz -
Run the installation script.
cd tn_camera_modules_orin_nano_jp72_<release_time>/
sudo ./tn_install.sh -
Select the Jetson Orin Nano platform and VLS-GM2 camera module.
$ sudo ./tn_install.sh
****** TechNexion Camera Driver Installation ******
This installer updates TechNexion camera drivers, camera DTBOs,
and boot entries for NVIDIA Jetson Development Kits.
Back up your image before continuing.
Continue? [Y/n] Y
Target platform:
[1] Jetson Orin Nano
[2] Jetson AGX Orin
Select platform [1-2] (default: 1): 1
Camera module:
[1] TEVS - TEVS Series MIPI Cameras with TEV-RPI22 Adaptor
[2] VLS-FPD3 - VLS-FPD3 Series Cameras with VL-FPD3-8CAM-RPI22 Adaptor
[3] VLS-GM2 - VLS-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor
Select camera module [1-3] (default: 1): 3
Reboot after installation? [y/N] n
Installing OrinNano JP72
Selected platform: Jetson Orin Nano
Selected module: VLS-GM2
Installation summary:
Kernel: 6.8.12-1021-tegra
Modules installed: 5
Boot files installed: 18
Default boot entry: vls-gm2
Camera overlay: /boot/tegra234-p3767-camera-p3768-vls-gm2.dtbo
Camera boot entries: 11
Finish Camera Driver Installation.
Reboot the device when the user is ready.
Reboot the device after installation.
Bring up Camera
TechNexion VizionViewer
GStreamer
If you succeed in initializing the camera, you can follow the steps to open the camera.
-
Check the supported resolutions:
$ gst-device-monitor-1.0 Video/Source
Probing devices...
Device found:
name : vi-output, tevs 9-0039 (V4L2)
class : Video/Source
caps : video/x-raw, format=UYVY, width=640, height=480, framerate=60/1
video/x-raw, format=UYVY, width=1280, height=720, framerate=60/1
video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1
video/x-raw, format=UYVY, width=2560, height=1440, framerate=30/1
video/x-raw, format=UYVY, width=3840, height=2160, framerate=15/1
video/x-raw, format=NV16, width=640, height=480, framerate=60/1
video/x-raw, format=NV16, width=1280, height=720, framerate=60/1
video/x-raw, format=NV16, width=1920, height=1080, framerate=60/1
video/x-raw, format=NV16, width=2560, height=1440, framerate=30/1
video/x-raw, format=NV16, width=3840, height=2160, framerate=15/1
video/x-raw, format=UYVY, width=640, height=480, framerate=60/1
video/x-raw, format=UYVY, width=1280, height=720, framerate=60/1
video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1
video/x-raw, format=UYVY, width=2560, height=1440, framerate=30/1
video/x-raw, format=UYVY, width=3840, height=2160, framerate=15/1
properties:
object.path = v4l2:/dev/video0
device.api = v4l2
media.class = Video/Source
api.v4l2.path = /dev/video0
api.v4l2.cap.driver = tegra-video
api.v4l2.cap.card = vi-output, tevs 9-0039
api.v4l2.cap.bus_info = platform:tegra-capture-vi:1
api.v4l2.cap.version = 6.8.12
api.v4l2.cap.capabilities = 84200001
api.v4l2.cap.device-caps = 04200001
node.name = v4l2_input.platform-tegra-capture-vi
node.description = vi-output, tevs 9-0039 (V4L2)
factory.name = api.v4l2.source
media.role = Camera
gst-launch-1.0 pipewiresrc target-object=49 ! ...
... -
Use the GStreamer pipeline to verify a 1280x720 resolution camera (/dev/video0) without opening a display window:
$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=30 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! fakesink sync=false -
Use the GStreamer pipeline to launch a 1280x720 resolution camera (/dev/video0) via the GPU on the Jetson display:
$ DISPLAY=:0 gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! nv3dsink sync=false
Troubleshooting
Cannot Find Cameras
If you cannot bring up the cameras, you can check if the video device does exist.
$ ls /dev/video* # List all video devices
/dev/video0 /dev/video1 /dev/video2 /dev/video3
/dev/video4 /dev/video5 /dev/video6 /dev/video7
If you cannot see the devices, you should check if the drivers have been probed.
$ lsmod | grep -E 'tevs|max96724|max96717'
max96717 32768 8
max96724 36864 0
tevs 32768 0
You can also check whether the VLS-GM2 boot entry is active after reboot.
$ grep -nE 'DEFAULT|LABEL|FDT|OVERLAYS' /boot/extlinux/extlinux.conf
DEFAULT tn-vls-gm2
LABEL tn-vls-gm2
FDT /boot/tegra234-p3768-0000+p3767-0005-nv.dtb
OVERLAYS /boot/tegra234-p3767-camera-p3768-vls-gm2.dtbo
Occur Error: Could not get EGL display connection or Failed to start nv3dsink
If you encounter nvbufsurftransform: Could not get EGL display connection or nv3dsink: Failed to start by running the GStreamer command through SSH, run the command from the Jetson graphical session or set the display environment before launching the pipeline:
$ export DISPLAY=:0
$ export XDG_RUNTIME_DIR=/run/user/$(id -u)
$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! nv3dsink sync=false
If the display sink still cannot start from SSH, verify the camera capture path without opening a display window:
$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=30 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! fakesink sync=false