Dual Camera Calibration and Hardware Synchronization

General Information

  • Product: e.g. X30 2CP
  • Serial Number: 231600, 231597
  • Ensenso SDK Version: 3.6.1621
  • Operating System: Windows

Problem / Question

Hey all, I am currently working with a dual-camera system using model numbers 231600 and 231597. Following the specifications in the Ensenso Guide, I have set up hardware synchronization using an adapter cable, connecting the Flash Out cable of the 231600 to the Trigger In cable of the 231597. Both cameras are also connected to the same power supply and grounded.

However, I am encountering an issue with calibration. Despite following the same calibration method for both hardware and software synchronization, I am observing a significant increase in link error when using hardware synchronization. The link error measures at 0.79mm with hardware synchronization, compared to 0.23mm when using software synchronization. This discrepancy persists even after numerous calibration attempts.

One factor I suspect might be influencing this outcome is the length of the connection cable between the two cameras, which is approximately 5 meters. Could this length be causing perturbations in the trigger signal? Or maybe the fact I’m only using one power supply for both cameras?

Could you provide any insights or recommendations on how to improve the calibration accuracy of a multi-camera set-up?

Thank you for your assistance.

Best regards,

Hello Klaas,

I do not see an obvious explanation for your observation. Although the manual page you referenced recommends using a separate power supply for each camera, that should be no problem during calibration when the projectors are not used. And I would not expect the 5m of cable to cause any trouble, unless you acutally operate a strong radio source nearby.

Do you have the “Ignore moving patterns” option enabled in both cases?

Could you post a copy of your NxLib trees, one with software and one with hardware trigger, so I can double check your settings? The wizard should set them all correctly, but I would like to make sure the input and output settings are all correct. You can open NxTreeEdit during the “Collect Patterns” step, connect to your running NxLib instance, right click on the root node (/), select “Copy value as JSON string” and paste it here.

I would also ask you to capture two log files (software and hardware) of the “Collect patterns” step, and possibly the following processing step as well. If the timing is extremely bad with the hardware trigger, I might be able to spot it in the logs. You can use the “Debug” tab of NxTreeEdit to capture the log files. If you zip them you should be able compress them enough to attach them here.


Hey Raphael,

Thank you for your insights. I’ve checked, and indeed, the “Ignore moving patterns” option is enabled in both scenarios.

Regarding the NxLib trees, I am attaching two JSON strings as requested in the zipped file. These represent the settings for both the software and hardware triggers.

Additionally, I have captured the log files for both the “Collect Patterns” step and the subsequent processing step. These files are also zipped and attached here:

LOG.zip (166.3 MB)

Please let me know if there’s anything else I can provide to assist in resolving this issue.

Best regards,