ZED Link MIPI Quad on AGX Thor with Holoscan Sensor Bridge
This tutorial will help you assemble the ZED Link MIPI Quad capture card on an NVIDIA® Holoscan Sensor Bridge (HSB), connect it to an NVIDIA® Jetson AGX Thor™ Developer Kit, and stream up to two ZED X One Core cameras.
Support for the NVIDIA® Holoscan Sensor Bridge with the Jetson AGX Thor™ Developer Kit is currently in beta and may have limitations. The driver package required by this configuration is delivered by StereoLabs on request: please contact support@stereolabs.com.
The ZED Link MIPI Quad is designed for the ZED X One Core camera only. It is not compatible with the GMSL2 cameras, and the GMSL2 ZED Link Mono, Duo, and Quad cards are not compatible with the ZED X One Core.
How it works
On the AGX Orin Developer Kit, the ZED Link MIPI Quad plugs directly into the CSI connector of the carrier board. The Jetson AGX Thor™ Developer Kit does not expose a MIPI CSI-2 connector, so the capture card is instead mounted on an NVIDIA® Holoscan Sensor Bridge, which converts the MIPI streams into Camera-over-Ethernet (CoE) and sends them to the Thor over a 10 Gb Ethernet link. On the host, the frames are processed by NVIDIA’s SIPL hardware imaging engine and delivered to your application by the ZED SDK.
The full chain is:
Frames travel downward through this diagram. The installation, on the other hand, goes from the bottom up: the FPGA firmware of the bridge board first, then the driver, then the ZED SDK, which is the order of this guide.
Because the camera data travels over Ethernet, the Jetson needs a network route to the camera before anything can stream. This is the main difference with the AGX Orin setup, and the most common cause of a camera that is not detected.
Prerequisites
Hardware
Make sure that you have the following items before starting this guide:
- 1x NVIDIA® Jetson AGX Thor™ Developer Kit, with a QSFP+ port
- 1x NVIDIA® Holoscan Sensor Bridge, Lattice
CPNX100-ETH-SENSOR-BRIDGEboard (also referred to as HSB Lite by the NVIDIA® firmware tools) - 1x ZED Link MIPI Quad capture card
- 1x or 2x ZED X One Core cameras
- 1x MIPI I-PEX cable per camera (one cable is included with each ZED X One Core)
- 1x QSFP+ to 4x SFP+ breakout cable
- 1x USB-C power supply for the Holoscan Sensor Bridge, or a free USB-C port on the Developer Kit (see Power up)
- 1x NVIDIA® power supply to power the Developer Kit (included with the devkit)
A standard RJ45 Ethernet cable will not work. The Jetson AGX Thor™ exposes a QSFP+ cage and the Holoscan Sensor Bridge exposes SFP+ cages, so a QSFP+ to 4x SFP+ breakout cable is mandatory.
Software
The driver package is tied to your Jetson Linux release. The R392 suffix in its filename means L4T R39.2 / JetPack 7.2. If /etc/nv_tegra_release reports a different release, ask StereoLabs for the matching package instead of installing this one: a mismatch shows up as a camera that is never detected.
You do not need CMake, the ZED SDK sources, the CUDA development packages, or the Holoscan SDK to complete this guide.
If you encounter any issues during the installation process, please refer to the MIPI Troubleshooting page, which has a section dedicated to the Holoscan Sensor Bridge, or contact support@stereolabs.com.
Step 1: Assemble the hardware
Please make sure the Developer Kit and the Holoscan Sensor Bridge are switched off and disconnected from any power source before beginning the installation process.
The Holoscan Sensor Bridge at a glance
Three interfaces of the bridge board are used in this guide: the Camera Connector, where the ZED Link MIPI Quad is mounted, the top SFP+ cage, which carries the video to the Jetson, and the USB-C power input.
The designators of the SFP+ cages belong to the bridge board. Do not confuse them with the J1 and J2 camera connectors of the ZED Link MIPI Quad, described further down. The SPF+ Ports annotation in the photo above is a typo for SFP+.
Mount the capture card on the Holoscan Sensor Bridge
Align the 120-pin J10 Samtec connector on the bottom of the ZED Link MIPI Quad with the Camera Connector (J9) of the Holoscan Sensor Bridge, then press the card down firmly until the two connectors are fully mated. This is the only connector the capture card mates with, and it also powers the card.
The capture card sits over the right half of the bridge board, with its four camera connectors facing up.
Connect the cameras
Each camera channel of the ZED Link MIPI Quad uses a 30-pin, 0.4 mm pitch Micro I-PEX receptacle. Insert the plug of the MIPI I-PEX cable into the receptacle and press it down gently until it is fully seated, then connect the free end of the cable to the connector on the back of the ZED X One Core camera.
With the Holoscan Sensor Bridge, only the J1 (4-Lane CH1) and J2 (4-Lane CH2) channels are wired through. A camera plugged into J3 or J4 is never detected, which limits this configuration to two cameras.
The four channels are silkscreened 4-Lane CH1 to 4-Lane CH4 on the front side of the card:
Connect the first camera to J1, and the second one, if any, to J2.
Then connect the free end of each cable to the camera:
Micro I-PEX connectors are fragile. Never force the plug, never insert it at an angle, and never pull on the wires to disconnect it: always handle the plug body. Damaged connectors are not covered by the warranty.
Cable the bridge to the Jetson AGX Thor
The link between the bridge and the Jetson uses the top SFP+ cage of the bridge. The silkscreen labels of the two cages are printed on the board, just to the right of each of them.
On the Developer Kit, the QSFP+ cage is the wide port on the connection panel, between the power connector and the two USB-C ports:
- Plug the QSFP+ end of the breakout cable into the QSFP+ port of the Jetson AGX Thor™ Developer Kit.
- Plug the first SFP+ leg of the breakout cable into the top SFP+ port of the bridge, labeled
J2/J3, shown in the board photo above.
The four legs of the breakout cable map to the mgbe0_0 to mgbe3_0 host interfaces, in order. This guide, and the camera configuration files shipped in the driver package, are written for mgbe0_0, which is the first leg. If you use a different leg, you must change the interface name accordingly in every command below.
Power up
Connect the USB-C power supply to the Holoscan Sensor Bridge, plug the NVIDIA® power supply of the Developer Kit, connect the optional HDMI, keyboard, and mouse, then power up both boards. The cameras are powered through the MIPI I-PEX cables, so they need no additional power supply.
Once cabled, the bridge board carries the SFP+ leg on its top cage and the USB-C power cable on the opposite side:
The bridge board can also be powered from one of the USB-C ports of the Developer Kit, as shown below, which avoids a second power supply on the bench.
The ZED X One Core does not support hot-plugging. Cameras must be connected and disconnected only when the host is powered off, and any change to the hardware configuration requires a full reboot of the host to take effect.
Step 2: Configure the host network
The bridge board has a fixed IP address of 192.168.0.2. Put the mgbe0_0 interface of the Jetson on the same subnet so that it can reach the board:
Then check that the board answers:
If ping succeeds, the link is good. If it fails, check the interface name with ip link, verify that ip -br link reports mgbe0_0 as UP, and make sure no other network configuration overrides the IP address.
The IP address, the interface name, and the subnet must match the values used by the camera configuration files installed by the driver package (/var/nvidia/nvcam/settings/sipl/nova0_camera.json). If your setup requires different values, they have to be changed on both sides.
Step 3: Check the FPGA firmware version
The Holoscan Sensor Bridge runs its own FPGA firmware, called the HSB IP, which is completely independent from the software installed on the Jetson. It must be recent enough before anything can stream.
The ZED X One Core requires HSB IP version 0x2510 or newer. Older firmware versions are not supported. The version is encoded as 0xYYMM, so 0x2510 corresponds to the NVIDIA® 25.10 release.
Build the Holoscan Sensor Bridge tools
hololink-enumerate, hololink-read, and hsb_flasher are NVIDIA® tools from the Holoscan Sensor Bridge project. They are not part of the StereoLabs driver package, so they must be built once on the Jetson. Only the small native C++ tools are needed, not the Holoscan SDK, so the build takes a couple of minutes.
Install the build dependencies:
Clone the release this guide is written against:
Configure a tools-only build and build the three tools:
HOLOLINK_BUILD_ONLY_NATIVE=ON is the option that keeps the Holoscan SDK and the CUDA compilation out of the build. Without it, CMake requires Holoscan 4.x. The configure step downloads pybind11, so the Jetson needs internet access at this point. CMake 3.24 or newer is required; the version shipped with Ubuntu 24.04 is recent enough.
The binaries are produced in the build tree, relative to the holoscan-sensor-bridge folder:
The two read-only tools are self-contained and can be installed system-wide:
Leave hsb_flasher in its build folder and run it in place. It locates its firmware manifests and flash strategies next to its own executable, so copying the binary elsewhere breaks it.
Read the current version
The bridge board broadcasts its identity once per second, so hololink-enumerate only needs to listen: no control connection is required and nothing has to be streaming.
hsb_ip_version is the value to check. The board=hololink-lite field confirms that the board is the Lattice CPNX100-ETH-SENSOR-BRIDGE.
On a board that already answers ping, the version register can also be read directly:
If hololink-enumerate prints nothing at all, no board is broadcasting: check that the bridge is powered, that ip -br link shows mgbe0_0 as UP, then redo Step 2.
Upgrade the firmware
hsb_flasher recognizes the board from its FPGA UUID and selects the right flash routine and images automatically, so no board-specific option is needed:
The power cycle in the commands above is mandatory. A reboot of the Jetson is not enough: the bridge board itself has to be fully powered off and on again.
Points to keep in mind before flashing:
- Nothing else may be talking to the board. The control plane accepts exactly one client, so close ZED Studio and any other tool first.
- The Jetson needs internet access.
hsb_flasherdownloads the CLNX and CPNX images from the NVIDIA® server and verifies their MD5 checksum. If the board is offline, fetch the two.bitfiles on another machine and pass them explicitly: - If the board already runs the target version, the tool exits without doing anything. Add
--reapplyto force a reflash. - Firmware older than
0x2407is not handled by this flasher. Follow the NVIDIA® HSB 2.0 update procedure first, then come back to this step.
The complete upstream procedure is available in the NVIDIA® Holoscan Sensor Bridge documentation.
A blank board cannot be flashed this way. Depending on the vendor, the bridge may ship with no FPGA image at all, in which case it answers neither ping nor hololink-enumerate, because flashing over Ethernet requires working firmware to begin with. Such a board has to be programmed over JTAG with the Lattice Radiant Programmer first: please check with your board vendor.
Step 4: Install the ZED Link MIPI driver
This package contains everything the Jetson needs to see the camera: the AR0234 sensor driver, the Camera-over-Ethernet transport driver, the camera configuration, and the ISP tuning. There is nothing to build and nothing to copy by hand.
The driver package for the Holoscan Sensor Bridge configuration is different from the ZED Link MIPI driver used on the AGX Orin Developer Kit. It is delivered by StereoLabs on request: please contact support@stereolabs.com.
Unpack the archive sent by StereoLabs and install the Debian package:
Check that the five files are correctly installed:
If any of them is missing, the installation failed: run dpkg -i again and read its output.
To remove or upgrade the package later:
Step 5: Install the ZED SDK
The ZED SDK turns the SIPL pipeline into a regular ZED camera, accessible through the sl::CameraOne API, and it ships ZED Studio. Camera-over-Ethernet support is built into the v5.5 release.
Download the installer matching your Jetson Linux version from the StereoLabs developer page, then run it:
The L4T39.2 part of the filename must match the release reported by /etc/nv_tegra_release. Answer the prompts of the installer and accept the license; the optional AI models and the Python API are not required for this guide. The SDK is installed in /usr/local/zed/.
More details are available in the Install the ZED SDK on NVIDIA® Jetson guide.
Install the ZED SDK after the driver package. Both orders work, but this way the first detection test you run is already meaningful.
Step 6: Verify the installation
Check that the cameras are detected:
Each connected ZED X One Core is listed with its serial number and an Input type: HOLOLINK field. ZED_Explorer --all lists them as well. If nothing is listed, see the MIPI Troubleshooting page.
Open ZED Studio to get a live view and select the camera in the device list:
The ISP tuning shipped in the driver package is applied automatically, so the image arrives fully processed, with auto exposure and auto white balance already running.
A camera can also be opened directly at a given resolution and framerate, using the serial number printed by --list:
In this configuration, the ZED X One Core supports the following video modes, each at 15, 30, or 60 fps:
Any other value falls back to the closest supported mode.
The 960x600 @120 fps binning mode listed in the ZED X One Core specifications is not available in this configuration: over Camera-over-Ethernet, every resolution is capped at 60 fps. The full set of modes is available on an NVIDIA® Jetson AGX Orin™ Developer Kit.
The -r option of ZED Studio is --recording, not the resolution. The resolution is the second positional argument of --camera, as shown above. Run ZED_Studio --help for the complete list of options.
Multi-camera configuration
Only the J1 and J2 channels of the ZED Link MIPI Quad are wired through the Holoscan Sensor Bridge, so this configuration supports a maximum of two cameras.
The two cameras are hardware-synchronized by the FPGA of the capture card, with a precision of 15 µs, so no jumper or external wiring is required. They can be used as a virtual stereo camera in the ZED SDK, after calibration: see Setting up the ZED X One Stereo.
Although frames are hardware-synchronized with 15 µs precision, software timestamps are assigned upon driver receipt and may exhibit slight millisecond-level jitter. Frames are considered synchronized if the timestamp difference is less than one frame period (1000/FPS ms).
Quick reference
End-to-end command summary:
Troubleshooting
The troubleshooting checks for this configuration are gathered on the MIPI Troubleshooting page, alongside the ones shared with the AGX Orin Developer Kit:
- Common checks and commands, to list the cameras seen by the ZED SDK and inspect the capture pipeline.
- Holoscan Sensor Bridge on Jetson AGX Thor, for the symptoms specific to this setup: no device listed, a single camera detected, firmware too old, black live view, recovering the Ethernet connection, and cleaning up the SIPL log output.
🎉 Congratulations! You have successfully assembled your StereoLabs ZED Link MIPI Quad capture card on an NVIDIA® Holoscan Sensor Bridge and connected it to your NVIDIA® Jetson AGX Thor™ Developer Kit. Now that the cameras are up and running, it is time to start experimenting and building your projects. Happy coding!

