Trigger Smartphone Camera With Arduino




This tutorial shows you how to trigger a smartphone camera with an arduino every 2 seconds. You can modify this for your camera to trigger when

-a button is pressed

-motion detector is trigger

-receive a twitter tweet , etc

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Trigger a Smartphone Camera With an Arduino



-jumper wires


-arduino uno

-smartphone (any)

-TRRS Audio Jack ($2 CAD)

Step 2: Wire It Up and Solder TRRS Audio Jack

How the TRRS audio jack works:

The audio jack has 4 parts. -left -right -ground -mic

When the mic and ground are connected, it will trigger a smartphone. With a camera app, it will trigger the shutter button. Self-sticks use this.

If the mic and ground are connected directly, the shutter button will constantly be trigger. To fix this, a digital potentiometer is placed in between the mic and ground.

A digital potentiometer can electronically adjust resistance. When I want to take a picture, the digital potentiometer has 0 resistance. The connection between mic and ground is made. Camera triggers.

When I don't want to take a picture, the digital potentiometer has 10k resistance. The connection is blocked. no picture is taken.


Before Soldering jumper wires to the audio jack. Plug in audio jack into phone with phone app on(link below). Physically connect the mic and ground with 1 jumper wire. The camera should trigger. Sometimes it works better to solder jumper wire on the outside tab on audio jack. Test where on ground and mic is best to trigger your phone before soldering.

Step 3: Code


byte address = 0x00; int CS= 10;

void setup() { pinMode (CS, OUTPUT); SPI.begin(); } void loop() { digitalPotWrite(0); // no resistance here. Camera is triggered. delay(500); digitalPotWrite(128); //resistance here. Camera is not triggered. delay(2000); } int digitalPotWrite(int value) { digitalWrite(CS, LOW); SPI.transfer(address); SPI.transfer(value); digitalWrite(CS, HIGH); }

Step 4: Download Free SelfiShop Camera APP

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    6 Discussions


    8 months ago

    This works! Firstly, make sure you have the right audio jack - it must be a TRRS. Secondly, this is important and was my main issue (DonaldDu did mention it) - the connection can be terrible even when I'm touching my mic and ground wires together. My issue was that the mic wire wasn't making a strong enough connection - I ended up adding a bit more solder to ensure that the mic wire is making good contact with the outer casing of the jack. Lastly, the line '#include' needs to read '#include <SPI.h>" Cheers.


    Question 1 year ago on Step 3

    In the code , the #include shouldn´t have a file direction in it? Thanks a lot for the post, is going to be very useful.

    Sin t&iacute;tulo.jpg

    1 year ago

    wow, this was EXACTLY what I was looking for. Complete newb here.. I'll try it out with my iPhone


    1 year ago

    Would a relay work instead of the digital pot?

    Tanmay Deuskar

    2 years ago


    I tried inserting the audio jack and manually connected the the GND and MIC wires, however even with the app running the shutter isn't activated. Can you tell me how I could trouble shoot this problem? Or, is there any other way I can trigger the camera using the Arduino?



    2 years ago


    does this work?
    has anyone got it working??