ZED SDK 5.3
Release notes of the ZED SDK 5.3 series. Patch releases are listed newest first. Download links and the full changelog, including ZED Tools and integrations, are available on the ZED SDK 5.3 release page.
What’s New
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.
5.3.1
Released: Jun 4, 2026
SDK
General
Bug Fixes
- Fixed GMSL camera enumeration not recovering after
nvargus-daemonis restarted while the application is running.getDeviceList()now returns the connected GMSL cameras again without requiring an application restart. - Fixed a Desktop (x86) streaming decode latency regression introduced in 5.2.3 with the NVIDIA Video Codec SDK update. The hardware decoder was waiting for the next packet before releasing each frame, adding roughly one frame of latency per received stream on both H264 and H265. Received-stream latency is back to 5.2.1 levels, with no change to image quality, throughput, or decoder load.
- Fixed
sl::Camera::reboot(sl::INPUT_TYPE::USB)silently no-op’ing whenever there wasn’t exactly one camera in the right state (multi-camera setups, or cameras whose USB stream was wedged but still enumerable on the bus). It now enumerates every connected ZED 2 / ZED 2i and sends a full reset to each over the MCU HID interface, using the same path asZED_Explorer --rbt <SN>, applied to every camera. - Fixed regression on some VIDEO_SETTINGS (SCENE_ILLUMINANCE, DENOISING) retrieved values on GMSL cameras (ZED X / ZED X Mini). These values can now be correctly retrieved.
- Fixed sporadic crash in
sl::Camera::findFloorPlaneon low texture scenes. - Fixed periodic frame drops when using USB cameras on Linux at HD1080@30.
- Rate-limited the GNSS covariance-too-low warning. Repeated occurrences are now batched and reported with a count to avoid log spam.
5.3.0
Released: Apr 29, 2026
SDK
General
Features / Improvements
- Improved
NEURAL_LIGHTdepth 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. - Added support for the new ZED X Nano camera (ultra-compact, 18mm baseline, global shutter sensors). New
sl::MODEL::ZED_X_NANOenum value. All tools, calibration, and wrappers (C, Python, C#, ROS 2) are updated. Requires ZED X Driver >= 1.4.2. - Camera calibration data is now stored directly on the on-board EEPROM and automatically kept in sync with the factory calibration file. Upon opening a camera, the SDK prioritizes the downloaded local file. If this file is missing and no internet connection is available, the SDK will seamlessly fall back to the internal EEPROM calibration. For cameras that do not have the calibration written in EEPROM, see the new
--download_calibrationoption in ZED_Explorer. - Added a new process-wide
TIMESTAMP_CLOCKselector onCameraandCameraOne, letting applications opt into timestamps that are immune to wall-clock adjustments (NTP, PTP, manual date change). Default remainsSYSTEM_CLOCKfor compatibility; switch tosl::Camera::setTimestampClock(sl::TIMESTAMP_CLOCK::MONOTONIC_CLOCK)before opening any camera to get image and IMU timestamps backed by a monotonic clock. - In
SYSTEM_CLOCKmode, 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 withsl::Camera::setMaxSystemClockStepMs(ms). Pass a negative value for PTP setups that need step corrections to land instantly. - Added
Camera::retrieveVoxelMeasureto 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 1DMatof reduced points. Configuration is controlled through the newVoxelMeasureParametersstruct: voxel size (default: 100mm equivalent), output point positioning (centroid or grid-center), and depth-adaptive voxelization via theVOXELIZATION_MODEenum (FIXED,STEREO_UNCERTAINTY,LINEAR) with a tunableresolution_scale.Camera::retrieveVoxelMeasureuses depth confidence to weight voxels and produce more accurate point clouds. - Added SVO2 native recording encryption support. A new
RecordingParameters::encryption_keyfield accepts a passphrase, a hex key, or a path to a key file. For decryption, the same key must be passed via the newInitParameters::svo_decryption_keyfield. 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. - Added a lightweight background positional-tracking fallback for Object Detection and Body Tracking when positional tracking is not already enabled, allowing AI modules to start even with out-of-order initialization and automatically hand off to explicitly enabled positional tracking. Relevant samples have been updated to reflect this behavior.
- Added
RESOLUTION::XVGA(960×768) andRESOLUTION::TXGA(640×512) for ZED X HDR cameras. This resolution uses respectively 2×2 NEON and 3×3 NEON-accelerated software binning from the native 1920×1536 sensor output. CameraandCameraOnenow 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. SetZED_SDK_REUSE_CUDA_CONTEXT=0to disable this behavior.- Added
VIDEO_SETTINGS::AE_ANTIBANDINGto control the AE anti-banding mode. - Added detection of GMSL PHY CSI bandwidth overflow during camera open (compatible with ZED X Driver >=v1.4.2). When the camera reports a bandwidth overflow for the chosen configuration (resolution/FPS or hardware branching),
Camera::open()returnsERROR_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. - Highly reduced CPU loads in recording mode using zero-copy feature.
- Added
SVO_ENCODING_PRESETenum andRecordingParameters::encoding_presetparameter to control the GPU encoder speed/quality tradeoff for SVO recording. Available presets:DEFAULT,ULTRAFAST,FAST,MEDIUMandSLOW. Maps to NVENC P1–P5 on Desktop and V4L2 HW presets on Jetson. - Improved GMSL camera capture stability and performance in multithreaded and high-FPS scenarios.
- Improved
sl::Camera::reboot()on GMSL: cameras can now be fully reset and reopened after restartingzed_x_daemon, without restarting the application. - Added duplicate frame detection to the camera health check. When
InitParameters::enable_image_validity_checkis enabled (default), the SDK detects when the same image is delivered twice in the capture stream (e.g. a stale capture buffer or a sensor freeze) and reportsERROR_CODE::CORRUPTED_FRAMEfromCamera::grab(). Persistent duplicates can also trigger an automatic camera reboot whenZED_SDK_AUTO_REBOOT_ON_CORRUPTED_FRAMES=1is set.
Bug Fixes
- Fixed SVO2 files larger than 2GB failing to open on Windows.
- Fixed
VIDEO_SETTINGS::SCENE_ILLUMINANCEnot being accessible viagetCameraSettingson ZED X One cameras. - Fixed a race condition in the SVO2 writer that could cause a crash (heap-use-after-free) when new data channels were created while recording was in progress.
- Fixed SVO auto-repair failing to open corrupted files on read-only or full disks. The SDK now opens the corrupted file directly and retries writing the repaired file on the next open.
- Fixed calibration file download, leaving an empty file on disk on poor network connectivity, which caused subsequent
Camera::open()calls to fail withINVALID_CALIBRATION_FILEinstead of retrying the download. - Fixed
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. - Fixed the orientation of 3D objects when cameras are mounted vertically (90° roll w.r.t. the ground)
- Fixed auto-gain behavior in some GMSL camera paths, improving exposure adaptation reliability.
- Fixed missing format arguments in GNSS covariance warning log, which caused repeated “argument not found” logger errors when ingesting GNSS data with very low covariance when using the Fusion module.
- Fixed a race condition in the async streaming pipeline that could cause frame corruption on the receiver side when streaming from cameras on Jetson.
- Fixed a memory leak (~18 MB per camera, once per open) on GMSL cameras (ZED X / ZED X Mini).
- Fixed a regression that caused SVO recordings from streamed cameras to fail.
- Fixed
Camera::reboot(sl::INPUT_TYPE::GMSL)returningINVALID_FUNCTION_CALLon non-Jetson platforms (x86, Windows). It now returnsCAMERA_NOT_DETECTED, correctly signaling that no GMSL hardware is present. - Fixed
Camera::open()returningINVALID_FIRMWAREfor transient firmware-version reads (the version field was momentarily unreadable, e.g. right after a USB driver re-enumeration). The transient case now returnsCAMERA_DETECTION_ISSUE, allowing the SDK’s internal open loop to recover;INVALID_FIRMWAREis now reserved for the genuine “firmware too old” case.
SLAM
Features / Improvements
- Improved accuracy of
sl::POSITIONAL_TRACKING_MODE::GEN_3, especially in low-textured areas. - Limited the overall memory used by SLAM.
Bug Fixes
- Fixed false positive loop closure issue that could occur in low-textured areas.
- Fixed an issue that prevented 2D mode from initializing.
- Updated
GEN_3behavior inenable_localization_onlymode: 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).
Platform
- Added support for Ubuntu 26.04.

