Hi, we would like to run two OAK-D S2 PoE cameras (bought fall 2024) with synchronized capture but aren't getting a usable image out. We used an external pulse generator, and while the two cameras do sync, the image is extremely noisy, dark or black. We would greatly appreciate feedback on whether our hardware and software setup is correct.

Pulse generator:

  • rate: 30 Hz
  • pulse width: 4.5 µs
  • active low: 0 V, active high: 12 V
    The rate and pulse width were verified with an oscilloscope. The applied pulse was high (so, most of the time the signal was 0 V). given the effects of the optocoupler logic I'm not sure whether it should be like that or the other way round (the signal being high most of the time and the pulse going low). Tried the other way but that didn't result in the cameras going into sync, however.

The cameras going into sync was verified based on their reported timestamps matching, example where they matched:

1744375396.690:  /oak1/left/image_raw/compressed
1744375396.690:  /oak0/left/image_raw/compressed
1744375396.723:  /oak1/left/image_raw/compressed
1744375396.723:  /oak0/left/image_raw/compressed
1744375396.756:  /oak1/left/image_raw/compressed
1744375396.756:  /oak0/left/image_raw/compressed

ROS parameters:

/oak0:
  camera_i_ip: '169.254.1.221'
  camera_i_nn_type: none
  camera_i_pipeline_type: Stereo
  left_i_fsync_continuous: true
  left_i_fps: 30
  left_i_resolution: 800P
  right_i_fsync_continuous: true
  right_i_fps: 30
  right_i_resolution: 800P
  left_i_low_bandwidth: true
  left_i_low_bandwidth_quality: 90
  right_i_low_bandwidth: true
  right_i_low_bandwidth_quality: 90

/oak1:
  camera_i_ip: '169.254.1.222'
  camera_i_nn_type: none
  camera_i_pipeline_type: Stereo
  left_i_fsync_continuous: true
  left_i_fps: 30
  left_i_resolution: 800P
  right_i_fsync_continuous: true
  right_i_fps: 30
  right_i_resolution: 800P
  left_i_low_bandwidth: true
  left_i_low_bandwidth_quality: 90
  right_i_low_bandwidth: true
  right_i_low_bandwidth_quality: 90

The observed behavior depends on the set fps in the camera config (triggering was always 30 Hz):

  • > 30 fps: no image
  • 30 fps: black image
  • 29 fps: flickering, dark image
  • 14 fps: noisy image
    Example of a noisy image (from afar this doesn't look too bad, but zooming in you'll see severe noise artifacts - while this recording was made during daytime in a well-lit office):

Software versions:

  • ros-noetic-depthai-ros: 2.11.2-1focal.20250325.182146
  • ros-noetic-depthai-ros-driver: 2.11.2-1focal.20250325.180758
  • camera bootloader: 0.0.28

Similar issues:

Feedback welcome.

    Here's how it looks like on the scope, yellow is FSYNC and cyan is STROBE (connected with a pullup resistor, so the strobe opto closing pulls it down to 0 V), starting the camera with the settings listed earlier:

    Enabling manual exposure of the right eye right_r_set_man_exposure (for some reason, adjusting the left eye has no effect) allows to vary the exposure duration. For example, here right_r_exposure was set to 5000 (5 ms):

    Weirdly, toggling right_r_set_auto_exposure_limit on and off (while auto exposure is enabled) with right_r_autoexposure_limit set to a low value resulted in a persistent change of the strobe signal:

    I played with both the exposure and the ISO while manual exposure was enabled. The image remained black at all times (I did check new frames were being published).

    How do you suggest we proceed?

    One more observation: with the fps set to 14 (while applying a pulse at 30 Hz), the image is, as stated before, very noisy. I don't see changes in STROBE on the scope, it's always high (i.e. opto's open). Enabling manual exposure of the right eye and adjusting ISO of the right eye allows to adjust the brightness of the left eye's image while the right eye's image doesn't change. Adjusting exposure has no effect.

      magikEye
      Left and right imagers are connected on the same i2c line so they both get the same settings for exposure. I think right drives the left (you can check by covering one camera in autoexp mode- the other should brighten up).

      You can try using https://docs.luxonis.com/software/depthai/examples/mono_camera_control/ to check the controls. Note at which exp/iso the image looks good and if all is working correctly - osci graphs as well.

      Thanks,
      Jaka