# Weak signal via pull-up resistor?

I am trying to trigger a camera from another primary camera. The circuit diagram provided is as follows:

The signal to the input is supposed to be a positive square wave. So 0 V and a peak to peak of 3.3 V. Instead, I am getting a DC offset of about 1 V, and a peak of about 0.5 V (max. at 1.5 V). What might I be doing wrong here?

I realize the camera wouldn't even trigger with a 460 Ω resistor, so I dropped it to a 200 Ω resistor, and it gives a somewhat erratic timing.

• What camera? Where did you find that diagram? Does the camera manual have a better diagram? May 23, 2020 at 21:35
• Does the camera matter? This is a FLIR blackfly S. The diagram is found here. flir.com/support-center/iis/machine-vision/application-note/…
– Raaj
May 23, 2020 at 21:39
• I want to understand what kind of signal must the output generate (coupled with the pull up resistor) to generate a non DC offset square wave
– Raaj
May 23, 2020 at 21:40
• That's not the cable for Blackfly S. Are you sure you are using correct cable with correct camera? May 23, 2020 at 21:44
• Now you know why the camera type matters and why it should have been included in the question. May 23, 2020 at 21:59

You have built the wrong cable, the cable with 460 ohm resistor is meant to be connected between BFLY cameras, not BFS cameras. In case you have not noticed, the pinout is different as well. So that is the reason your current cable with 460 ohm resistor does not work, and it does not work much better with 200 ohm resistor either, because pinouts are different.

The BFLY camera cable (wrong cable, wrong resistor, wrong pinout) uses opto-isolated input pins, therefore to drive enough current to the input LED of the opto-osolator, it needs smaller 460 ohm resistor. Because it is wrong cable for your cameras, it explains why it works poorly.

The BFS camera cable (right cable, right resistor, right pinout) uses high-impedance unisolated GPIO data pin for input, therefore a 10k resistor is perfectly enough to drive the input.

The output on both cameras is an opto-isolator output, it is common to assume that it is an open-drain output. That is why it even needs a pull-up resistor. And because the signal is active high, it means that in idle state, the opto-isolator output must drain the current via the resistor to keep output low.

And the smaller the pull-up resistor is, the more current must be drained by the output transistor, and that is why the output pin has offset voltage, because with all that current, it can't go to 0V. It is however low enough to keep the input opto-isolator LED off. This explains the about 0.5V of DC voltage at the output pin when the pin is low.

When there is a trigger event, the open-drain output turns off, so all current flows from 3.3V pin via resistor and opto-isolator input LED to ground. Because the opto-isolator input is a LED, it will have about 1.5V of forward voltage over it. So you will never measure more than about 1.5V because with the 200 ohm resistor, about 9 milliamps flow into the pin. This explains why the output is only 1.5V when turned on.

So, for your BFS camera, the 10k pull-up makes best signal, because the open-drain output does not have to sink much current, so it can go very close to 0V. Using smaller pull-up only makes the voltage higher than 0V.

• Why would a weaker pullup bring the voltage higher? May 23, 2020 at 22:44
• exactly, i dont get what justme is talking about. in fact..i was able to get it trigger the camera by using an even smaller resistor than 460ohm. Just that it confuses me why there is a DC offset
– Raaj
May 23, 2020 at 22:59
• @ElliotAlderson the cable with 460 ohm resistor has different pinout. It is for another camera, using different input type. May 23, 2020 at 23:15
• the only difference between those is the resistor. And the input pin can be reconfigured (and has the same issues even if changed). And youre not answering my question as to why there would be a DC offset. Does a Pullup resistor mean that the signal is always high and is then zero pulsed?
– Raaj
May 23, 2020 at 23:21
• the pinout is also different May 24, 2020 at 0:54

A 10K resistor will make the signal clearer than with a 460 ohm resistor (for this type of camera) because the output is "open-drain" as Justme just already mentioned.

An open-drain device sinks the current to ground during OFF state signal, bringing the voltage to zero but doesn't do anything during ON state signal. What the input needs to see is either 0V or 3V, or a C-MOS "low" or "high", to be exact.

With 10K, the output, in OFF state, sinks easily all the current coming out of the resistor. If you lower the resistor impedance, for example to 460 Ohms, there is more current flowing through the resistor and the output may not be able to sink so much current. it may even damage the output device. And the input may see or not see 0V or a C-MOS "low" signal.

When the output is in ON state, in fact it just stops sinking the current and the current flowing through the 10K resistor is more than enough to give 3V to the input, meaning C-MOS "high".

The other model requires a 460 ohm resistor because it uses an another technology which sinks more current at the output and requires more current at the input. Therefore consuming more current overall.

• I think you have it backwards...the signal is not getting high enough, so using a weaker pullup resistor should not help. Also, how does an open-drain output sink current "during OFF state"? May 24, 2020 at 22:28
• @Elliot Alderson Because when current is sunk, voltage is zero, which means an OFF state for the input of the slave camera. Unless it's active low. To keep it simple, I assumed an active high circuit. I don;t understand your comment about why a weaker resistor would not help. If the resistor is too strong, too much current is flowing through it. It not only "helps", it's required. May 24, 2020 at 22:51
• I don't know why he gets only 1.5V. Probably because the logic circuits can't manage an unadapted resistor and it osccillates or whatever. May 24, 2020 at 22:55
• Didn't you read my answer? The optoisolator input LED forward voltage is 1.5V. That's why logic high pulled up via few hundred ohms is 1.5V. May 25, 2020 at 20:20
• @I didn't read it to the end... Now I did. ;) May 26, 2020 at 17:02