System designGuide

Multi camera exposure synchronization with a shared trigger

Select and validate multi camera exposure synchronization with a shared trigger, measured timing skew, shutter checks, and reliable image buffering.

LumaSpec Vision11 min read Share on LinkedIn

On this page 11 sections
  1. 01Decide what must happen at the same instant
  2. 02Turn motion into a timing budget
  3. 03Check shutter behavior before trusting the trigger
  4. 04Separate exposure control from transfer and storage
  5. 05Shortlist cameras without assuming undocumented features
  6. 06Budget latency mismatch and jitter separately
  7. 07Measure the exposure interval rather than file arrival
  8. 08Size buffers for complete image sets
  9. 09Recognize when the usual architecture is wrong
  10. 10Check the complete system before ordering
  11. 11Questions

A button that starts four captures does not necessarily produce four images of the same instant. The commands may arrive together while the sensors wait for different frame boundaries, expose different rows, or apply different exposure durations. Image arrival times add another source of confusion.

For a compact inspection or recording system, select the timing architecture before selecting storage. You need a documented way to control exposure, a measurable skew limit, and enough buffering to transfer completed images without changing acquisition timing. The following approach separates those requirements and gives you a practical acceptance test.

Decide what must happen at the same instant

For a compact wired system, a shared hardware trigger is usually the first architecture to investigate. One electrical event reaches every camera, and each camera starts a documented triggered exposure sequence. This avoids relying on the host to issue separate commands with predictable spacing.

However, a trigger input alone does not establish synchronization performance. You still need the trigger-to-exposure latency, its variation, and the sensor's response when another frame is already active.

Define which timing relationship matters:

  • Exposure start: useful when every camera must begin integrating together.
  • Exposure midpoint: often the better reference for comparing moving objects when exposure durations differ.
  • Exposure end: relevant when an event must occur before all integrations finish.
  • Row exposure time: necessary when rolling-shutter images contain significant motion.

Specify a maximum difference rather than asking for perfect synchronization. A requirement such as an exposure-midpoint difference no greater than 1 ms is testable. Identical file timestamps are not equivalent evidence.

The closest companion is our guide to verifying multi-camera exposure timing. Use that distinction between commands and actual exposure throughout procurement and commissioning.

Turn motion into a timing budget

Timing tolerance should come from the scene, not from the resolution of a stopwatch display. If an object moves at a known speed, exposure skew produces a positional difference between views.

position difference = object speed × exposure-time difference allowed exposure skew = allowed position difference / object speed

For example, suppose a part moves at 200 mm/s and the allowed inter-view position difference is 0.2 mm:

allowed exposure skew = 0.2 mm / 200 mm/s = 0.001 s = 1 ms

Image sampling helps you judge whether that difference matters. A hypothetical field width of 120 mm sampled by 2,400 pixels gives:

object sampling = 120 mm / 2,400 pixels = 0.05 mm/pixel image displacement from skew = 0.2 mm / 0.05 mm/pixel = 4 pixels

You can also derive that sampling requirement from a feature. Resolving a 0.2 mm feature with four pixels requires 0.05 mm/pixel, or 2,400 pixels across the same field. These are application examples, not specifications for the camera candidates below.

Camera resolution for the smallest feature
Units
Pixels needed
–
Sensor size
– MP
Smallest sensor that fits
–
Pixel on the part
– mm
Pixels across the feature, that sensor
–

Pixels needed = field / feature × pixels per feature on each axis (field incl. margin). The lens must resolve the pixels too: Nyquist = 1000 / (2 × pixel µm) lp/mm.

Find cameras with enough pixels Open the full calculator

Exposure duration creates motion blur separately from synchronization error. A system can have closely aligned exposure midpoints while every image remains blurred. Our explanation of exposure time versus shutter speed for moving parts covers that separate constraint.

Check shutter behavior before trusting the trigger

Global-shutter capture is generally the simpler starting point when all image locations must represent approximately the same interval. Rolling-shutter capture requires row timing to be included in the requirement.

Capture behavior What it establishes What still needs checking
Separate software capture commands The host requested images Command spacing, operating-system scheduling, and sensor response
Shared electrical trigger Cameras received a common event Input skew, latency, jitter, busy behavior, and exposure duration
Global-shutter triggered exposure Pixels integrate over a common exposure interval within each image Alignment of that interval between cameras
Rolling-shutter triggered exposure A triggered sequence begins Row timing, scan direction, readout duration, and corresponding scene rows
Sequential transfer after capture Images need not arrive together Buffer capacity, frame identity, and overwrite behavior

A rolling shutter may still suit a stationary scene or an application that compares a restricted region. It is not automatically suitable for arbitrary moving scenes simply because the trigger inputs share a wire.

Check whether the trigger starts exposure directly, arms a later frame, or is accepted only during a readiness window. If a camera waits for its next frame boundary, a shared request may leave substantial timing uncertainty. At 30 fps, one frame period is approximately 33.3 ms, far above a 1 ms alignment target.

Separate exposure control from transfer and storage

A useful architecture has three distinct paths:

  1. Timing path: a trigger source distributes an event through electrically compatible connections.
  2. Image path: each camera transfers its completed image to a receiver with enough bandwidth and buffering.
  3. Storage path: a worker writes matched image sets without blocking the timing path.

For a physical button, debounce the input and generate a clean trigger event. Avoid using a long or bouncing contact signal unless the documented input behavior explicitly supports it. Confirm voltage levels, polarity, input current, pulse-width limits, reference connections, and isolation before wiring anything.

A simple parallel connection is appropriate only when the trigger source can drive the combined input load and the wiring meets the documented requirements. Otherwise, use a suitable trigger distribution interface. Do not infer electrical compatibility from the presence of a connector labelled GPIO.

For host-side acquisition, compare vision controllers by their documented camera interfaces and timing I/O. A controller's port count alone does not prove that it distributes hardware triggers or maintains synchronized exposure.

Our guide to multi-camera acquisition session architecture explains the software separation between camera sessions and processing. The timing requirement remains a camera-and-trigger requirement even when one host manages every session.

Shortlist cameras without assuming undocumented features

Use shutter type, interface, optics mounting, and packaging to build an initial shortlist. Then request the missing timing documentation before treating any candidate as a synchronized solution.

For a compact assembly, board-level cameras can reduce packaging constraints. For a more conventional installation, area scan cameras provide another route. Both categories are available through the camera finder.

The LS-BCM-0003 is a USB3 board-level camera with a global shutter and C-mount. It is a candidate for evaluating compact packaging where the documented trigger functions meet the application.

Board-level cameras3.1 MP USB3 board-level camera, IMX252, 1/1.8" global shutter, 120 fps (LS-BCM-0003)LS-BCM-0003
Sensor format
1/1.8"
Lens mount
C-mount
Interface
USB3
Resolution
5 MP
$690.00View partBuild a system with it

The MV-CU020-90GC is a GigE color area scan camera with a global shutter and C-mount. It provides an interface and packaging alternative for the shortlist, not a verified synchronization guarantee.

Area scan camerasHikrobot MV-CU020-90GC 2.5 MP Area Scan Camera, GigE, GMAX4002, ColorMV-CU020-90GC
Sensor format
1/1.7"
Lens mount
C-mount
Interface
GigE
Resolution
Up to 3 MP
$309.00View partBuild a system with it

The LS-BCM-0020 is a GigE board-level camera with a rolling shutter and CS-mount. Consider this shutter approach only when scene motion and row timing permit it.

Board-level cameras6.3 MP board-level camera, IMX178, 1/1.8" rolling shutter, 18 fps (LS-BCM-0020)LS-BCM-0020
Sensor format
1/1.8"
Lens mount
CS-mount
Resolution
6-10 MP
Shutter
Rolling
$290.00View partBuild a system with it

The listed catalog specifications do not establish external-trigger electrical limits, trigger-to-exposure latency, timing jitter, frame-buffer depth, or onboard removable storage for these examples. Confirm each required capability in current documentation from the vendor or an authorized distributor.

A compact camera module is not necessarily a self-contained recorder. If local file storage is mandatory, specify who creates the file, where it is buffered, and how completed files become available to the rest of the system.

Budget latency mismatch and jitter separately

Fixed latency differences and variable timing errors need different remedies. A repeatable delay can sometimes be compensated through documented controls. Unpredictable jitter must fit inside the remaining tolerance.

For camera i, let L_i be trigger-to-exposure-start latency and T_i be exposure duration. Relative to the shared trigger:

exposure midpoint_i = L_i + T_i / 2 inter-camera midpoint skew = maximum(midpoint_i) - minimum(midpoint_i)

As an illustrative calculation, suppose measured start latencies are 80, 110, 95, and 120 microseconds with equal exposure durations. The fixed midpoint spread is therefore:

fixed spread = 120 microseconds - 80 microseconds = 40 microseconds

If every camera can also vary by up to 20 microseconds in either direction, a conservative pairwise allowance adds 40 microseconds. The resulting budget is 80 microseconds before adding trigger-distribution skew, measurement uncertainty, and any other uncounted variation.

This arithmetic is not a product performance claim. Its purpose is to show why a low average latency does not establish a low worst-case skew.

Use fixed exposure during validation. If exposure durations change independently, midpoint alignment can change even when all exposure starts remain aligned. Read back active settings after startup and reconnection rather than assuming a saved configuration was applied.

Measure the exposure interval rather than file arrival

Start with a documented exposure-active output if the camera provides one. Compare those outputs against the common trigger using suitable timing instrumentation. Confirm what each output represents; an acquisition-active signal may describe more than the optical integration interval.

Optical verification provides a second check. A useful procedure is:

  1. Place a common pulsed light source in every view, or use separate sources whose optical timing has been measured against the same reference.
  2. Fix exposure, gain, and any automatic image adjustments. Keep the light below saturation.
  3. Generate a short optical pulse at a controlled delay after the shared trigger.
  4. Sweep that delay through the expected exposure interval and record which cameras capture the pulse.
  5. Repeat the sweep near both interval boundaries, accounting for pulse duration and measurement uncertainty.

For global-shutter images, the sweep brackets the integration interval. For rolling-shutter images, inspect the row-dependent response and relate it to the actual regions used by the application.

One pulse visible in every image does not prove equal exposure starts: long, overlapping exposures can all capture it. Likewise, matching stopwatch digits may conceal display refresh, display scanout, and camera row-timing effects.

Record the maximum observed skew, the distribution of measurements, missing frames, and duplicate event assignments. A run of 10,000 triggers at 10 Hz takes 1,000 seconds, or about 17 minutes. That is useful evidence, not proof that rarer timing excursions cannot occur.

Repeat under sustained transfer and storage load. Keep this test separate from glass-to-glass latency measurement, which includes downstream transport and display delays.

Size buffers for complete image sets

Sequential image transfer can preserve synchronized capture, provided each camera retains its completed frame without overwriting it. Conversely, simultaneous transfer does not prove simultaneous exposure.

Calculate payload and queue requirements using the actual transmitted format. For a hypothetical uncompressed monochrome image:

image payload = width × height × bytes per pixel = 2,400 × 1,800 × 1 = 4,320,000 bytes four-camera set = 4 × 4,320,000 = 17,280,000 bytes payload rate at 10 sets/s = 172,800,000 bytes/s

Those figures exclude transport overhead, metadata, alignment padding, software copies, and file-system overhead. Packed pixel formats and compressed files need their own calculations; compression size can vary with the scene.

A 0.5-second storage pause at 10 sets/s creates five pending sets, requiring 86.4 MB of image payload capacity. An eight-set ring holds about 138 MB of payload, but some entries may already be occupied by acquisition and processing.

Average throughput must also keep up. At an effective transfer rate of 150 MB/s, moving a 17.28 MB set takes approximately 115 ms. That exceeds a 100 ms trigger interval, so the queue grows continuously. More memory postpones the failure but does not solve it.

Attach a shared event identifier to each image set through documented metadata or a validated association method. Do not pair images solely by arrival order. If one camera misses an event, record an incomplete set rather than silently pairing its next image with older images.

For queue ownership and overload handling, use the guidance on multi-camera callbacks and buffer queues.

Recognize when the usual architecture is wrong

A shared electrical trigger is not always the best answer. Distributed cameras may benefit from documented scheduled acquisition using a shared timebase. That approach still needs a verified relationship between clock synchronization and sensor exposure timing.

A stationary subject may need only stable positioning and adequate settling time. Adding tight synchronization can increase complexity without improving the inspection. Conversely, rapidly changing scenes may need shorter exposures as well as tighter exposure alignment.

If one receiver reads camera buffers sequentially over a shared transport, confirm that all cameras can capture first and retain their frames. Some designs couple acquisition to readout or provide limited storage. Never assume an image remains available indefinitely.

Automatic exposure can also undermine an otherwise sound design. Different durations change temporal averaging and midpoint timing. Where changing illumination requires automatic control, define whether matching exposure starts, midpoints, or a shared illumination pulse actually satisfies the inspection.

Check the complete system before ordering

Use this checklist to turn a camera shortlist into an orderable, testable system:

  • Timing requirement: name the exposure event being compared and the maximum permitted skew.
  • Camera behavior: obtain trigger timing, shutter timing, readiness, and overtrigger documentation.
  • Electrical interface: verify levels, loading, polarity, pulse width, isolation, and connector pin assignments.
  • Optics and motion: confirm field coverage, sampling, exposure duration, and acceptable blur.
  • Buffering: document frame retention, queue ownership, overflow policy, and maximum sustainable trigger rate.
  • Storage: distinguish temporary image buffers from completed files and persistent recording.
  • Traceability: preserve event identifiers, camera identifiers, exposure settings, and incomplete-set status.
  • Acceptance test: measure exposure skew optically or through documented exposure signals while transfer and storage are busy.

The compact solution is the smallest complete system that meets these checks, not simply the smallest camera board. Start with the camera configurator, or send your motion speed, image size, trigger rate, and timing tolerance through application support before selecting the final parts.

Questions

Does one hardware trigger make four cameras expose simultaneously?

Not by itself. A common trigger provides a shared input event, but cameras can differ in trigger latency, exposure duration, readiness, and shutter timing. Specify an allowable exposure-start or exposure-midpoint difference, then verify that difference using documented exposure signals or a controlled optical timing test.

Can images be transferred one at a time after synchronized capture?

Yes, if each camera captures on the required event and retains its completed image until transfer finishes. Check buffer depth, overwrite rules, and sustained throughput. Associate every image with its capture event so a missing frame cannot shift the pairing of later images.

Is a global shutter necessary for millisecond alignment?

A rolling shutter can work for stationary scenes or carefully defined image regions. Moving scenes require row-level timing analysis because different rows integrate at different times. A global shutter simplifies full-image temporal alignment, but its inter-camera trigger timing still needs documentation and verification.

Can a stopwatch display prove that camera exposures are synchronized?

Matching digits provide only a coarse observation. Display refresh, scanout, exposure duration, and rolling-shutter behavior can hide or introduce apparent differences. A controlled pulsed light, swept through the exposure interval, provides stronger evidence when its pulse width and timing uncertainty are known.

What documentation should be requested before buying the cameras?

Request trigger electrical limits, trigger-to-exposure timing, jitter information, shutter behavior, readiness signals, and frame-retention details. Also confirm how images reach persistent storage. Catalog entries that identify an interface or shutter type do not automatically establish synchronized triggering or onboard recording capability.