We are currently using the ZED Carrier Board (ZED Box Mini) with JetPack 6.2, the latest ZED SDK and the ZED Box Mini v1.3.0 driver (2 Cameras). Both of our cameras (a ZED X One 4K and a ZED X Mini) appear in ZED Explorer when connected individually.
However, when both are connected at the same time:
The ZED X One 4K fails to initialise in ZED Explorer and shows: “Error: Unable to open camera”.
Only the ZED X Mini stream is accessible in ZED Explorer.
In ZED Explorer, the ZED X One seems to be incorrectly identified as another ZED X Mini (same camera type is shown in the dropdown).
We are connecting the ZED X One to GMSL2 Port A and the ZED X Mini to GMSL2 Port B, as indicated in the documentation.
Is this a known issue with ZED Explorer or the SDK? Should this configuration work as expected?
Thanks, but we’re already connecting the cameras exactly as per the documentation:
ZED X One 4K → GMSL2 Port A
ZED X Mini → GMSL2 Port B
However, we get “Error: Unable to open camera” in the ZED Explorer for the ZED X One. When connected individually, both cameras appear in ZED Explorer.
Hi @Myzhar,
I think that ZED Explorer doesn’t let us configure framerate or resolution from the ZED Explorer before opening the camera. The ZED X One 4K fails before any stream or setting can be applied, so we can’t even reach the point of adjusting settings for that camera when the Mini is also connected.
First, it toggles quickly between “OPENING THE CAMERA 0” and “WAITING FOR CAMERA 0”. Then, it delivers the error message of the image we have attached. Also, you can see in the image that it is detecting the ZED X One as “ZED-X MINI”.
When we change from CAM0 to CAM1 in the dropdown ID menu, we can see without any issues the ZED X Mini stream.
I tried using the image_capture.py script but it did not work:
$ python image_capture.py
[2025-05-12 11:33:59 UTC][ZED][INFO] Logging level INFO
[2025-05-12 11:34:00 UTC][ZED][INFO] Using GMSL input... Switched to default resolution HD1200
[2025-05-12 11:34:00 UTC][ZED][INFO] [Init] Depth mode: NEURAL
[2025-05-12 11:34:00 UTC][ZED][ERROR] [ZED] Cannot initialize the camera.
[2025-05-12 11:34:00 UTC][ZED][WARNING] CAMERA FAILED TO SETUP in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
Camera Open : CAMERA FAILED TO SETUP. Exit program.
[2025-05-12 11:34:00 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[2025-05-12 11:34:00 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
So I used this script instead:
import pyzed.sl as sl
def list_and_select_camera():
cam_list = sl.Camera.get_device_list()
if not cam_list:
print("No cameras detected.")
return None
print("Available cameras:")
for i, cam in enumerate(cam_list):
print(f"[{i}] Serial: {cam.serial_number} | Model: {cam.camera_model}")
return cam_list[1].serial_number
def main():
zed = sl.Camera()
init_params = sl.InitParameters()
init_params.set_from_serial_number(list_and_select_camera())
init_params.camera_resolution = sl.RESOLUTION.AUTO
init_params.camera_fps = 30
status = zed.open(init_params)
if status != sl.ERROR_CODE.SUCCESS:
print(f"Camera Open : {status}. Exit program.")
exit()
image = sl.Mat()
for i in range(10):
if zed.grab() == sl.ERROR_CODE.SUCCESS:
zed.retrieve_image(image, sl.VIEW.LEFT)
print(f"Frame {i} grabbed: {image.get_width()}x{image.get_height()}")
zed.close()
if __name__ == "__main__":
main()
I have both cameras connected at the same time (ZED X One and ZED X Mini). If I return the cam_list[1] in the list_and_select_camera() function, the script works. However, if I change to index 0, it fails.
This is the output with index 1:
$ python test0.py
Available cameras:
[0] Serial: 37881356 | Model: ZED X Mini
[1] Serial: 54734349 | Model: ZED X Mini
[2025-05-12 11:34:06 UTC][ZED][INFO] Logging level INFO
[2025-05-12 11:34:06 UTC][ZED][INFO] Using GMSL input... Switched to default resolution HD1200
[2025-05-12 11:34:07 UTC][ZED][INFO] [Init] Depth mode: NEURAL
[2025-05-12 11:34:09 UTC][ZED][INFO] [Init] Camera FW version: 2001
[2025-05-12 11:34:09 UTC][ZED][INFO] [Init] Video mode: HD1200@30
[2025-05-12 11:34:09 UTC][ZED][INFO] [Init] Serial Number: S/N 54734349
[2025-05-12 11:34:10 UTC][ZED][WARNING] [Init] Self-calibration skipped. Scene may be occluded or lack texture. (Error code: 0x01)
Frame 0 grabbed: 1920x1200
Frame 1 grabbed: 1920x1200
Frame 2 grabbed: 1920x1200
Frame 3 grabbed: 1920x1200
Frame 4 grabbed: 1920x1200
Frame 5 grabbed: 1920x1200
Frame 6 grabbed: 1920x1200
Frame 7 grabbed: 1920x1200
Frame 8 grabbed: 1920x1200
Frame 9 grabbed: 1920x1200
And this is with index 0:
$ python test0.py
Available cameras:
[0] Serial: 37881356 | Model: ZED X Mini
[1] Serial: 54734349 | Model: ZED X Mini
[2025-05-12 11:41:00 UTC][ZED][INFO] Logging level INFO
[2025-05-12 11:41:00 UTC][ZED][INFO] Using GMSL input... Switched to default resolution HD1200
[2025-05-12 11:41:01 UTC][ZED][INFO] [Init] Depth mode: NEURAL
[2025-05-12 11:41:01 UTC][ZED][ERROR] [ZED] Cannot initialize the camera.
[2025-05-12 11:41:01 UTC][ZED][WARNING] CAMERA FAILED TO SETUP in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
Camera Open : CAMERA FAILED TO SETUP. Exit program.
[2025-05-12 11:41:01 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[2025-05-12 11:41:01 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
The ZED X One is connected to GMSL A and the ZED X Mini is connected to GMSL B as I previously mentioned. It seems like the ZED X One is detected as a ZED X Mini when both cameras are connected.
This is weird because it seems that the two cameras are both detected as ZED X Mini models.
Have you disconnected them and reconnected while the host was powered and you did not launch the sudo service zed_x_daemon restart command?
Do you have an estimated timeline for the patched solution? We’ve scheduled further development around this setup, so any update would help with planning.