Dark frames, lights that flash between images, timestamps that disagree with the PLC log: all three trace back to the same root, a strobe output whose timing you have not pinned to the exposure cycle. This guide maps the camera strobe output onto the exposure window, shows when the image timestamp is latched, explains what free-run mode does to an incoming sync line, and walks through polarity. You also get an oscilloscope procedure that proves the pulse tracks exposure, a blur-to-exposure calculation with the arithmetic shown, and camera and controller picks for a strobe-wired station.
Where does the strobe output sit inside the exposure cycle?
On a camera in trigger mode, the strobe output rises at the first instant of integration and falls at the last, so with no strobe length configured the pulse width equals the exposure time: set 2 ms and the scope shows a 2 ms pulse.
The signal on the wire is the sensor's exposure-active line routed to a GPIO pin. GenICam cameras set it up through the line controls: pick the digital line in Line Selector, set Line Mode to Output, and source it from the exposure-active signal instead of a user-defined level. Because the pulse is a copy of the exposure window, the exposure setting doubles as a timing test: change exposure, and the pulse width follows.
Two consequences follow. The light is on exactly as long as the sensor integrates, so no light is wasted between frames. And every exposure change in a recipe moves the pulse with it, which saves power but denies the driver a stable operating point; if you need that stability, configure a strobe length instead, as the section below covers.
When does the camera latch the image timestamp?
The timestamp latches at the end of the exposure, not at the trigger edge: trigger at t = 0 with a 2 ms exposure and the image is stamped near t = 2 ms, with only the camera's trigger delay, typically a few microseconds, left over.
That end-of-exposure reference matters whenever image times meet external clocks. Two cameras sharing one trigger do not share timestamps when their exposures differ: one exposing 0.8 ms stamps 0.8 ms after the edge, another exposing 1.2 ms stamps 1.2 ms after it, so their timestamps differ by 0.4 ms even though the trigger was common. Match exposures across the cell, or subtract each camera's exposure when you fuse or log. The same offset applies against encoder and PLC clocks.
Multi camera exposure synchronization with a shared trigger covers the wiring; Chunk data timestamp: camera time at exposure end and how to latch it shows how to read the value in software, and Trigger call versus exposure time: understand capture timing walks the full cycle from call to image.
Why does the camera ignore your sync pulse in free run?
Free run paces frames from the camera's internal timer, so at 30 fps the strobe fires every 33.3 ms on the camera's own clock and the trigger line is ignored entirely until you switch the acquisition into hardware trigger mode.
The strobe still equals the exposure in free run — the pulse-width test passes — but its phase drifts against everything external, because nothing ties the internal frame timer to your line. The classic trap is a camera left in free run while triggers keep arriving: the scope shows both waveforms, yet each pair drifts apart and the camera discards the trigger.
The fix is per camera, before you judge any waveform: switch the acquisition into hardware trigger mode. The free-run default sits behind more mis-timed stations than any other setting, so check it first; Hardware trigger configuration per camera: stop the free run default lists what to set.
How do you make the strobe pulse longer or shorter than the exposure?
Configure a strobe length on the output line: with none set the pulse equals the exposure, but a timer, exposed by GenICam through timer controls such as TimerControl, can hold a 5 ms pulse while the exposure stays at 1 ms.
A timer decouples the wire from the sensor. Three uses cover most benches. Driver settle: some light drivers need a few to a few tens of microseconds to reach full output, and a pulse stretched past the exposure guarantees steady light across the whole integration. Fixed burn: hold the pulse constant while exposure varies per recipe, so the driver always runs at one operating point. Effective exposure: since the sensor only integrates photons while lit, a pulse shorter than the exposure sets the blur window independently of the exposure setting.
In the GenICam feature model this lives in the TimerControl group, alongside the exposure-active line source from the first section.
How do trigger polarity and strobe polarity change the waveform?
Trigger polarity selects the edge that starts integration, so low-to-high exposes on the rising edge and high-to-low on the falling edge, while output polarity makes the strobe pulse active-high or active-low on the wire.
Mis-set each one and the failures look different. Wrong trigger polarity: the camera fires on the wrong edge, so the strobe lands offset by the trigger pulse width — a two-channel scope shows it immediately. Wrong output polarity: the light idles on and switches off during exposure, so the frame comes out dark while the driver heats at idle; that wiring is a common cause of black frames, and Strobe light on but camera image is black: fix the timing sorts the rest.
Most cameras invert a line in software through a line-inverter setting, which beats adding hardware. Note that isolated inputs can invert the level by design, so scope the line at the light's connector, not only at the camera.
How do you verify the timing with an oscilloscope?
Put the trigger input on scope channel 1 and the strobe output on channel 2, trigger on channel 1, then double the exposure from 1 ms to 2 ms: a pulse that doubles confirms the output is the exposure window, and its falling edge marks the timestamp point.
Run the check in this order:
- Put the camera in hardware trigger mode. Connect the trigger source to scope channel 1 and the strobe line to channel 2, through the camera's GPIO breakout — Do I need a camera GPIO cable for image acquisition? covers when one is needed.
- Arm the scope on channel 1's active edge.
- Measure channel 2's high time and compare it with the exposure setting: equality means the output is exposure tracking.
- Change the exposure from 1 ms to 2 ms and confirm the width doubles; set it back.
- Read the gap between the channel 1 edge and the channel 2 rising edge — the trigger delay, typically a few microseconds on industrial cameras.
- Switch the camera to free run and watch the pulses repeat every 33.3 ms at 30 fps and slide against channel 1: proof the camera is ignoring the line.
How much strobe pulse does motion blur allow?
Exposure, and with it the default strobe pulse, is sized from blur: exposure ≤ blur budget ÷ part speed, so a part moving at 100 mm/s under a 0.1 mm blur budget allows a 1 ms exposure and a 1 ms pulse.
Worked example, with illustrative inputs. A 2048-pixel-wide sensor covers a 204 mm field of view: 204 mm ÷ 2048 = 0.0996 mm per pixel, call it 0.1 mm. The blur budget is one pixel, 0.1 mm, and the part travels at 100 mm/s, so exposure ≤ 0.1 mm ÷ 100 mm/s = 0.001 s = 1 ms. Set 0.8 ms for margin: actual blur is 100 mm/s × 0.0008 s = 0.08 mm, just under a pixel.
At 30 fps the frame period is 1 ÷ 30 = 33.3 ms, so duty = 0.8 ms ÷ 33.3 ms = 2.4%, an easy figure for any LED driver, and the timestamp lands 0.8 ms plus the trigger delay after the trigger edge. Two safeguards finish the sizing: cap or disable auto exposure so an algorithm cannot pick 12 ms and blow the budget — Cap the maximum auto exposure time to stop motion blur shows the setting — and cross-check the strobe side in How strobe pulse width freezes motion blur in machine vision.
Which camera and light controller pair drives a strobe cleanly?
Pick a global-shutter camera whose GPIO line can output the exposure-active signal, and pair it with a controller that carries an explicit strobe feature and the voltage and power your lights need.
A global shutter keeps every row integrating at once, so the strobe window and the image window coincide — no row-by-row timing to fight. On the camera side, the area scan cameras range covers both picks, and the camera finder filters on shutter, interface and resolution:
- Sensor format
- 1/1.7"
- Lens mount
- C-mount
- Sensor format
- 1.1"
- Lens mount
- C-mount
Take the MV-CU020-90GC for a 2.5 MP GigE station and the MV-CH120-11UC where 12 MP and USB3 bandwidth pay off. Strobing itself lives in the controller, not the camera: the light controllers page and the light controller finder filter on strobe, channels and output type, and this card is a solid start:
- Output
- Constant voltage 24 V
- Channels
- 4 channels
- Control
- Digital
- Feature
- Strobe
The LS-CTL-0070 is a 4-channel, 200 W, 24 V constant-voltage digital box with RS-232 control and a strobe feature, so one trigger chain drives four lights; its input takes the camera's pulse and its channels switch the lights' real current. Route that pulse through the trigger chain — cable, splitter, isolated input — starting from the configurator's trigger step:
The configurator matches a camera, lens, light, light controller and cables to each other, step by step, and lists only parts that fit what you already picked.
When is pulse equals exposure the wrong answer?
Override the default in three cases: rolling-shutter sensors, where rows integrate at different moments; sub-millisecond pulses, where the driver's rise time shapes the light; and recipes that change exposure, where a fixed strobe length keeps the lighting stable.
- Rolling shutter. Rows integrate at different moments, so the light must span the whole frame window; a pulse covering only part of it leaves rows dark. Check what the exposure-active line spans on a rolling-shutter model before trusting it — one reason both camera picks above are global shutter.
- Sub-millisecond pulses. Below a few hundred microseconds the driver dominates: a 500 µs pulse into a driver that needs 20 µs to settle loses 4% of the burn at the leading edge. LED strobe rise time: why microseconds of light delay blur your image measures that cost.
- High duty. A 10 ms pulse at 30 fps is 10 ÷ 33.3 = 30% duty, which pushes a light toward its continuous rating; LED strobe duty cycle: matching lights and controllers sizes the pair.
- Varying recipes. When exposure changes per product for brightness, a fixed strobe length keeps the driver at one operating point while the sensor takes up the slack.
Before the first production frame, lock this set:
- Trigger mode on, per camera, with polarity matched to the source edge.
- Strobe polarity matched to the light driver's input, scoped at the light's connector.
- Pulse policy: exposure tracking by default, a configured strobe length when the driver or the recipe needs it.
- Exposure capped at the blur budget — 1 ms in the example above — with auto exposure capped or off.
- Timestamp offset of exposure plus trigger delay applied wherever image times meet external clocks.
Scope it once, double the exposure once to confirm tracking, and the station's timing is proven; everything afterwards is recipe. If you are building the cell from scratch, start at the camera step of the system configurator. Unusual timing — encoder-gated capture, ten-camera cells — goes through our contact page, and more capture-timing reading sits on the systems topic page.
Questions
Does changing gain change the strobe pulse width?
No. Gain scales the signal without touching the integration window, so the default pulse stays at the exposure time. If an image gets brighter after a gain change while the scope pulse stays the same, that is expected behavior. Only exposure time, a configured strobe length, or a polarity inversion changes what you see on the wire.
Why does my strobe pulse measure the frame period instead of the exposure?
Check polarity first. An inverted, active-low output idles high and sits low during exposure, so the scope's high time shows the idle gap: at 30 fps with a 0.8 ms exposure that is 33.3 ms minus 0.8 ms, about 32.5 ms. Either invert the measurement or flip the line's polarity so the pulse reads high during exposure.
Can one trigger source drive several cameras with aligned strobes?
Yes. Split the trigger electrically or chain it through each camera's GPIO, and every strobe starts within microseconds of the same edge. The catch is the timestamp: each image is stamped at its own end of exposure, so different exposure settings spread the timestamps by the exposure difference.
Does the image timestamp include readout and transfer time?
No. The timestamp latches when the exposure ends, before the sensor is read out and long before the frame reaches the host. At 30 fps the transfer of a large frame can add several milliseconds of arrival-time jitter, so order events by the camera's own timestamp, never by the time your application receives the image.
Can a camera GPIO line drive an LED light directly?
Treat the strobe output as a logic signal, not a power source: it is meant for the trigger input of a light controller, which switches the light's real current. Power the light from its driver or supply, run the pulse through the controller's input, and check the controller's input voltage range against the camera's output level.


