I’m stuck trying to get my AR0234 cameras to sync with the image in external trigger mode. Internal trigger mode works fine on both of the boards I’m testing.
The cameras I have:
AR0234 old version, two boards stacked
AR0234 new version UC 788 Rev B
Both are running on a Raspberry Pi Zero W with Bullseye OS. The command I’m using is:
libcamera-still -t 0 --shutter xxxx
with exposure values from 10 up to 1000. In external trigger mode, at --shutter 10 the image is black (though sometimes an image appears), and at --shutter 1000 the image looks exactly like an internally triggered image. I followed the external trigger document but I just can’t get it to synchronize with the image. Has anyone seen this?
Thanks for the detailed report. A couple of things would help narrow this down.
First, could you check the markings/revision on both boards? The old stacked version and the UC 788 Rev B can behave differently, so knowing the exact revision matters.
Second, can you describe in a bit more detail what you observe differently between internal and external trigger mode? In internal trigger, does the exposure visibly change as you sweep --shutter from 10 to 1000? And in external trigger, does it seem like the shutter setting is being ignored?
The fact that at --shutter 1000 it looks like an internally triggered image makes me suspect the external trigger signal isn’t actually reaching the sensor, or the sensor is falling back to internal timing. What trigger source are you using, and how is it wired to the camera?
Sorry for the delayed reply. The actual application: I need to capture a stand-still QR code image on a blade of a spinning fan. The trigger pulse is 1.8V with a 4uS pulse width, fired when the QR code blade crosses the camera.
Important detail — this did work before. The 2021 model camera (part number B0353) was functioning in external trigger mode on Raspbian Buster OS. Now with Bullseye OS I only get a black image in external trigger mode.
I’m enabling external trigger mode with:
v4l2-ctl -d /dev/v4l-subdev0 -c trigger_mode=1
The problem is I no longer have the 2021 version of libcamera or the Buster image to cross-verify, so I can’t tell whether this is a regression in Bullseye/libcamera or something else in my setup.
Thanks, that context helps a lot. Since the same camera worked on Buster and fails on Bullseye, this does look like a possible regression or a configuration difference between the OS/libcamera versions rather than a hardware fault.
Could you try the official demo/example code on a Pi 4 and report back? It’s available here:
Before running it, make sure external trigger mode is enabled:
v4l2-ctl -d /dev/v4l-subdev0 -c trigger_mode=1
Run that demo and let me know what you see — whether the image stays black or if it syncs at all. That will help us figure out if the issue is specific to the Pi Zero W + Bullseye setup or the libcamera-still path.