Skip to main content

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

PlatformSupported JetPackInstaller SelectionGMSL2 Adaptor
Jetson Orin Nano Developer KitJetPack 7.2Jetson Orin NanoVL-GM2-8CAM-RPI22

Supported Camera Modules

Camera SeriesProducts
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
Camera Sensor Comparison

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

info

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.

  1. 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
  2. Uncompress the modules.

    tar -xf tn_camera_modules_jp72.tar.gz
  3. Run the installation script.

    cd tn_camera_modules_orin_nano_jp72_<release_time>/
    sudo ./tn_install.sh
  4. 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.
tip

Reboot the device after installation.


Bring up Camera

TechNexion VizionViewer

VizionViewer™

GStreamer

If you succeed in initializing the camera, you can follow the steps to open the camera.

  1. 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 ! ...

    ...

  2. 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
  3. 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