The ZED SDK allows you to add depth, motion sensing and spatial AI to your application. Available as a standalone installer, it includes applications, tools and sample projects with source code.
ZED SDK 5.3 introduces support for the new ZED X Nano camera, an ultra-compact module featuring an 18 mm baseline and dual global-shutter sensors, enabling high-quality stereo capture for close-range manipulation tasks. This release includes an update to the NEURAL LIGHT model, which has improved robustness and accuracy in challenging environments while maintaining the same runtime cost. The new voxel-decimation mode provides point clouds with depth-adaptive resolution, reducing memory and bandwidth usage while preserving detail where it matters most. In addition, native encryption for SVO2 recordings ensures secure data storage and protects sensitive captured information.
Core system improvements streamline deployment and integration. Camera calibration is now stored directly on board in EEPROM, removing network dependency at initialization. The SDK can also automatically reuse an existing CUDA primary context, enabling smoother interoperability with frameworks such as PyTorch. Additionally, a new monotonic TIMESTAMP_CLOCK option ensures image and IMU timestamps remain stable and unaffected by wall-clock adjustments (e.g., NTP/PTP).
Performance and ecosystem updates further enhance the platform. Recording now benefits from significantly reduced CPU usage through zero-copy capture, complemented by the new SVO_ENCODING_PRESET API for flexible quality–performance tuning. SLAM GEN_3 delivers improved accuracy in low-texture environments, ROS 2 image topics support zero-copy intra-process communication, and overall streaming and GMSL stability have been strengthened.
Apr 29, 2026
NEURAL_LIGHT depth model: higher overall accuracy, better shape preservation on planar surfaces, and stronger robustness in challenging conditions such as glare and reflections — at the same runtime cost as before.For older releases and changelog, see the ZED SDK release archive.
sl::MODEL::ZED_X_NANO enum value. All tools, calibration, and wrappers (C, Python, C#, ROS 2) are updated. Requires ZED X Driver >= 1.4.2.--download_calibration option in ZED_Explorer.TIMESTAMP_CLOCK selector on Camera and CameraOne, letting applications opt into timestamps that are immune to wall-clock adjustments (NTP, PTP, manual date change). Default remains SYSTEM_CLOCK for compatibility; switch to sl::Camera::setTimestampClock(sl::TIMESTAMP_CLOCK::MONOTONIC_CLOCK) before opening any camera to get image and IMU timestamps backed by a monotonic clock.SYSTEM_CLOCK mode, the SDK now follows backward host-clock adjustments at up to 4 ms per sample, keeping IMU and frame timestamps coherent across an NTP/PTP step. The threshold is tunable with sl::Camera::setMaxSystemClockStepMs(ms). Pass a negative value for PTP setups that need step corrections to land instantly.Camera::retrieveVoxelMeasure to retrieve a voxel-downsampled point cloud, useful for reducing point density while minimizing information loss. Supports all point cloud measures (MEASURE::XYZ, XYZRGBA, etc.) and returns an unorganized 1D Mat of reduced points. Configuration is controlled through the new VoxelMeasureParameters struct: voxel size (default: 100mm equivalent), output point positioning (centroid or grid-center), and depth-adaptive voxelization via the VOXELIZATION_MODE enum (FIXED, STEREO_UNCERTAINTY, LINEAR) with a tunable resolution_scale. Camera::retrieveVoxelMeasure uses depth confidence to weight voxels and produce more accurate point clouds.RecordingParameters::encryption_key field accepts a passphrase, a hex key, or a path to a key file. For decryption, the same key must be passed via the new InitParameters::svo_decryption_key field. Encryption uses AES-256-CTR through OpenSSL (libcrypto), loaded dynamically at runtime — making it an optional dependency. Performance impact is negligible thanks to hardware-accelerated AES-NI instructions. If the key is lost, the data is unrecoverable. New samples are available in recording/encrypted folder. Tools are also updated to support this feature.RESOLUTION::XVGA (960×768) and RESOLUTION::TXGA(640×512) for ZED X HDR cameras. This resolution uses respectively 2×2 NEON and 3x3 NEON-accelerated software binning from the native 1920×1536 sensor output.Camera and CameraOne now automatically reuse an existing CUDA primary context (e.g. created by PyTorch), avoiding unnecessary GPU memory duplication when integrating with other CUDA frameworks. The ZED SDK must be opened after the other framework has initialized CUDA. Set ZED_SDK_REUSE_CUDA_CONTEXT=0 to disable this behavior.VIDEO_SETTINGS::AE_ANTIBANDING to control the AE anti-banding mode.Camera::open() returns ERROR_CODE::CAMERA_EXCEEDS_BANDWIDTH. This prevents opening configurations that would not stream reliably; it is recommended to reduce resolution or FPS, adjust GMSL branching/hardware, or consult the GMSL documentation for platform limits.SVO_ENCODING_PRESET enum and RecordingParameters::encoding_preset parameter to control the GPU encoder speed/quality tradeoff for SVO recording. Available presets: DEFAULT, ULTRAFAST, FAST, MEDIUM and SLOW. Maps to NVENC P1–P5 on Desktop and V4L2 HW presets on Jetson.sl::Camera::reboot() on GMSL: cameras can now be fully reset and reopened after restarting zed_x_daemon, without restarting the application.VIDEO_SETTINGS::SCENE_ILLUMINANCE not being accessible via getCameraSettings on ZED X One cameras.Camera::open() calls to fail with INVALID_CALIBRATION_FILE instead of retrying the download.Camera::open() on live GMSL/USB (Jetson and x86) sometimes failing with "no valid frame after 10 retries" or returning corrupted first frames during sensor warm-up.Camera::reboot(sl::INPUT_TYPE::GMSL) returning INVALID_FUNCTION_CALL on non-Jetson platforms (x86, Windows). It now returns CAMERA_NOT_DETECTED, correctly signaling that no GMSL hardware is present.Camera::open() returning INVALID_FIRMWARE for transient firmware-version reads (the version field was momentarily unreadable, e.g. right after a USB driver re-enumeration). The transient case now returns CAMERA_DETECTION_ISSUE, allowing the SDK's internal open loop to recover; INVALID_FIRMWARE is now reserved for the genuine "firmware too old" case.sl::POSITIONAL_TRACKING_MODE::GEN_3, especially in low-textured areas.enable_localization_only mode: camera pose and covariance in the WORLD reference frame are now updated when SPATIAL_MEMORY_STATUS is LOST (i.e. when the camera moves outside of the loaded area map).rclcpp::TypeAdapter publishers, enabling intra-process subscribers to receive sl::Mat data directly without serialization. Inter-process subscribers continue to receive standard sensor_msgs/msg/Image messages transparently. Compression transports (compressed, theora, zstd) remain available on demand via image_transport with zero CPU overhead when unused.compressed and theora, while measurement topics (depth, confidence) only advertise compressedDepth. This prevents silent data corruption from incompatible plugin/encoding combinations.zstd image compression transport on ROS 2 Jazzy and later, enabling faster lossless image streaming over the network.depth.voxel_point_cloud is enabled, the point cloud topic publishes voxel-decimated data via retrieveVoxelMeasure(). New parameters: depth.voxel_size_mm, depth.voxel_resolution_mode (FIXED, STEREO_UNCERTAINTY, LINEAR), and depth.voxel_resolution_scale. All voxel parameters are dynamically reconfigurable at runtime.isaac_ros_nitros is actually installed before enforcing the conflict policy, allowing enable_ipc:=true on systems without NITROS.RESOLUTION.XVGA and RESOLUTION.TXGA to the Python RESOLUTION enum.VIDEO_SETTINGS.AE_ANTIBANDING to the Python VIDEO_SETTINGS enum.Camera.retrieve_voxel_measure() for voxel-decimated point cloud retrieval. Accepts a VoxelMeasureParameters object for configuring voxel size, resolution mode, and scale.VOXELIZATION_MODE enum and VoxelMeasureParameters class.SVO_ENCODING_PRESET enum and RecordingParameters.encoding_preset property.RecordingParameters.encryption_key for recording and InitParameters.svo_decryption_key for playback.TIMESTAMP_CLOCK enum and module-level set_timestamp_clock() / get_timestamp_clock() / set_max_system_clock_step_ms() functions to select between SYSTEM_CLOCK and MONOTONIC_CLOCK.RecordingStatus.is_paused property returning is_recording instead of is_paused.SL_RESOLUTION_XVGA to the SL_RESOLUTION enum.SL_VIDEO_SETTINGS_AE_ANTIBANDING to the SL_VIDEO_SETTINGS enum.sl_retrieve_voxel_measure for voxel-decimated point cloud retrieval. Accepts SL_VoxelMeasureParameters struct.SL_VOXELIZATION_MODE enum and SL_VoxelMeasureParameters struct.SL_SVO_ENCODING_PRESET enum and encoding_preset field to SL_RecordingParameters.encryption_key parameter in sl_enable_recording and svo_decryption_key field in SL_InitParameters.SL_TIMESTAMP_CLOCK enum and sl_set_timestamp_clock / sl_get_timestamp_clock / sl_set_max_system_clock_step_ms / sl_get_max_system_clock_step_ms functions.RESOLUTION.XVGA and RESOLUTION.TXGA to the C# RESOLUTION enum.VIDEO_SETTINGS.AE_ANTIBANDING to the C# VIDEO_SETTINGS enum.SVO_ENCODING_PRESET enum and encodingPreset field to RecordingParameters.VOXELIZATION_MODE enum and VoxelMeasureParameters struct for RetrieveVoxelMeasure.encryption_key parameter in EnableRecording and svoDecryptionKey field in InitParameters.TIMESTAMP_CLOCK enum and static Camera.SetTimestampClock / Camera.GetTimestampClock / Camera.SetMaxSystemClockStepMs / Camera.GetMaxSystemClockStepMs methods.--dc / --download_calibration: new CLI option that downloads the factory calibration from the Stereolabs server and writes it to the camera's EEPROM. Accepts an optional list of serial numbers; if none are provided, all connected cameras are processed. For each camera the tool downloads the .conf file, compares it against the calibration already stored in EEPROM, and writes only if the data differs. Usage: ZED_Explorer --dc [SN1 SN2 ...].Camera::retrieveVoxelMeasure into the depth sensing sample, key switch 'v'.VoxelMeasureParameters fields, 3D viewer with left camera PIP preview, and SVO looping.