Hi everyone. I’m trying to set up external trigger mode on a UCTRONICS 2MP Global Shutter OG02B10 Color Camera Module (Pivariety) running on a Raspberry Pi Zero 2, and I’ve hit contradictory documentation.
The external trigger page (External Trigger Mode - Arducam Wiki) says: “It is required that the voltage of the trigger signal is 1.8V, you need to convert the 3.3V or 5V to 1.8V.” But the wiring diagram on that same page shows the trigger connected directly to the Raspberry Pi GPIO header, and the Pi’s GPIO runs at 3.3V logic. Both of those can’t be right at the same time.
So which is it? Does the trigger input actually tolerate 3.3V, or is it strictly 1.8V?
I’d also like to know:
The input impedance of the trigger pin, so I can design a proper voltage divider or level converter.
Whether the trigger input has an internal pull-up or pull-down.
Whether the trigger input is optocoupler-decoupled or wired directly to the ISP.
It would also be good if the documentation could be corrected, since it’s currently contradictory.
Bumping this. It’s been almost two weeks and I still haven’t gotten an answer from a developer. I still need clarification on the trigger input voltage level (3.3V vs 1.8V), the input impedance, whether there’s an internal pull-up/pull-down, and whether the input is optocoupler-isolated or connected straight to the ISP. The doc contradiction still needs to be resolved too.
Thanks for your patience. For the external trigger mode questions, please review the Arducam libcamera source code — the relevant details are contained in there. You can check it at GitHub - ArduCAM/libcamera · GitHub and read through the trigger-related code carefully.
You can also verify the camera’s trigger mode by following the steps on the doc page you linked: External Trigger Mode - Arducam Wiki. Triggering can also be done using GPIO.
That said, per the documentation the trigger signal must be 1.8V, so if safety is a concern, I’d recommend using a level converter to step 3.3V or 5V down to 1.8V.
Respectfully, pointing me at the libcamera source code doesn’t answer the question. The trigger input voltage level is a hardware characteristic — the libcamera source code has nothing to do with whether the input pad tolerates 3.3V or what its impedance is. Reading driver code won’t tell me if the pin is 1.8V-only or 3.3V-tolerant.
My hardware questions are still unanswered:
Does the trigger input tolerate 3.3V?
What is the input impedance?
Separately, can you confirm whether the Arducam libcamera fork (GitHub - ArduCAM/libcamera · GitHub) is the codebase from which the libcamera library binaries are built and then installed by Arducam’s install script?
Any update on this? Still waiting on: whether the trigger input tolerates 3.3V, the trigger input impedance, and whether the Arducam libcamera fork is what’s used to build the binaries that get installed by the install script.
It’s now been over a week with no response. Could I get a status update on the open questions? Trigger input 3.3V tolerance and impedance, plus whether the libcamera fork at GitHub - ArduCAM/libcamera · GitHub is the codebase used for the binaries installed by the install script.
Sorry for the delay. I checked with the team, and it turns out the previous hardware design did have some minor design flaws related to the external trigger input voltage handling. These shouldn’t affect the normal operation of external trigger mode, but to be clear, the current board’s trigger input was designed around 1.8V and did not support 3.3V directly.
We’re releasing a new hardware revision that will add native 3.3V trigger input support. For the existing hardware, external trigger mode remains operational, but if you’re driving it from a 3.3V or 5V source, please use a level converter to bring it down to 1.8V.
Thanks for the update, but I need a concrete yes/no: does the current hardware’s trigger input tolerate 3.3V, or not? And what is the input impedance? You mentioned minor design flaws but also said they shouldn’t affect normal operation, so I want to be completely clear on whether I can hook the Pi’s 3.3V GPIO up directly or not.
Also still waiting on: is GitHub - ArduCAM/libcamera · GitHub the codebase used to build the libcamera binaries that the install script deploys?
To summarize where things stand: on the current hardware revision, the external trigger input is designed for 1.8V and does not natively tolerate 3.3V, so you should use a level converter if you’re driving it from the Pi’s GPIO (3.3V) or a 5V source. The upcoming hardware revision will add native 3.3V trigger input support.
I don’t have the exact input impedance spec available right now, and I’ll follow up on the libcamera fork question separately. But to avoid any risk to the camera, treat the trigger input as 1.8V-only on the current board and level-shift accordingly.