I need to trigger a Cannon EOS 650D camera externally, this is done by shorting 2 wires, leading out from a standard 2.5mm jack:

Jack diagram

The camera provides 3.3V. I want to complete the circuit and externally trigger the camera from an Arduino, for which I think the best way to do so is with a transistor. This is my current wiring diagram:

Wiring diagram

Pressing the button completes the circuit, but nothing happens. I tested it with an LED and it worked fine, the only difference being that I supplied the LED with the 5V of the Arduino. The exact transistor I'm using is an NPN 2N2222. My resistor is 10k Ohm.

Is my wiring wrong? Why is working with the LED but not the camera cable? Do I need a different transistor? If so, how do I know what I'm looking for? Any and all advice is welcome.


1 Answer 1


I am assuming that the Arduino acts only as a power source for the BJT's base. In that case, you need to complete the current path by connecting the BJT's emitter to Arduino's GND.

Also you should be aware that when the transistor is in its conductive state (eg. the button is pressed) it is able to conduct current only in one way (from collector to emitter). Assuming that you do not know the exact pinout of the camera jack (which of the two pins is ground) you may have to also swap the wires going to the camera.

  • \$\begingroup\$ Yes, this was it! I connected the Emitter to Arduino's ground and the circuit worked. Why is this needed? I'm a bit of a newbie in electronics. Thank for the help! \$\endgroup\$
    – kiryakov
    May 20, 2021 at 11:04
  • \$\begingroup\$ Look for articles on "ground in electronics", "current return paths" or something similar. dummies.com/programming/electronics/… \$\endgroup\$ May 20, 2021 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.