ArduCam OV9281 external trigger not working with Jetson Nano GPIO 3.3V

Hi, I’m trying to use external hardware triggering with an ArduCam OV9281 Global Shutter UVC camera and I just can’t get it to work.

My setup: Jetson Nano GPIO generating the trigger signal at 3.3 V. The camera board (ArduCam OV9281 Jetvariety uc 788 rev. B) has solder points 3v3, siod, sioc, fstrobe, gpo, xvs, gnd. Following the earlier guidance I connected the trigger signal to the fstrobe point.

The problem: I never get any reaction to the trigger. I’ve tried sending multiple triggers, and I tried disabling the timeout, but neither helped.

A few open questions:

  • Could the current on the Jetson Nano GPIO be too low to trigger the camera?
  • Is there an example for generating the trigger signal? The only one I found was a Python script running on a Raspberry Pi.
  • Do the wires go straight from the GPIO to the camera sensor with nothing in between (no pull-up resistors, no level shifters, no amplifiers, no other electronics)?

Did you have a chance to look at this issue? Happy to provide more details.

Thanks for the detailed write-up. So you’re trying to generate an external hardware trigger signal for the OV9281 Global Shutter UVC camera to use external trigger snapshot mode, and you never see a reaction to the trigger.

One important thing: the external trigger sample script is only available on the Raspberry Pi platform, not on the Jetson. Please refer to the sample trigger script for the Raspberry Pi, in section 1.5 here:
https://www.arducam.com/docs/uvc-camera-module/access-camera-demo/how-to-access-arducam-ov9281-global-shutter-uvc-camera-using-external-trigger-snapshot-mode/#ftoc-heading-10

And to answer your wiring question: yes, the wires go straight from the GPIO to the camera sensor with nothing in between (no pull-up resistors, level shifters, amplifiers, or other electronics). Give the Raspberry Pi script a try and let us know how it goes.

OK, I tried using a Raspberry Pi as the driver of the trigger signals, following the vendor example code and the wiring example. Same result - triggering of the camera still does not work.

At this point I’d really like to know the reason why the examples do not work with this camera. I’ve bought six sets of these cameras, and they’re useless to me if hardware triggering won’t work. Any idea what’s going on?

Sorry for the trouble here. We’ve updated the connection diagram and the trigger script for the ArduCam OV9281 Global Shutter camera external trigger use case. Please refer to the link below for the updated connection diagram and trigger script:
https://www.arducam.com/docs/uvc-camera-module/access-camera-demo/how-to-access-arducam-ov9281-global-shutter-uvc-camera-using-external-trigger-snapshot-mode/#ftoc-heading-10

We tested the updated connection diagram and trigger script today and it worked, so please try again with the new wiring and script.

Have you tested with the same sensor board as I am using?

We tested on the Jetson Nano developer kit.

I meant the same camera / sensor board, not the Jetson. My board is the ArduCam OV9281 Jetvariety uc 788 rev. B.

And are you 100% certain that we should use FSTROBE for external triggering of the camera? That’s what the earlier guidance said, and with the Raspberry Pi as the trigger signal driver using the vendor example code and wiring it still wouldn’t trigger.

Good catch - you should use the XVS of the camera for the external trigger, NOT FSTROBE. The earlier guidance to use FSTROBE was incorrect, and that misunderstanding about which solder point to use was the root cause here.

Please connect the trigger signal to the XVS point. See the connection diagram below:
4

So to sum up: for external triggering of the OV9281 camera, the trigger signal goes to the XVS point of the camera, not FSTROBE. Give that a try and let us know if it triggers now.