Home > Arduino Projects > Arduino Selfie


My attention is drawn towards the noise behind me...
I cannot believe it.
There it is.

The Arduino is taking a SELFIE!!


How did this happen?


Well actually, it is not that difficult for an Arduino.

I found out that my Canon Powershot SX50 HS camera has a port on the side for a remote switch. In the "Optional Accessories" section of the camera brochure, it identifies the remote switch model as RS-60E3. I then looked up the model number on this website to find out the size of the jack (3 core, 2.5mm), and the pinout (Ground, focus and shutter) required to emulate the remote switch. Once I had this information, I was able to solder some really long wires to the jack and connect up the circuit (as described below).

And before I knew it, the Arduino was taking Selfies !!!
Warning : Any circuit you build for your camera (including this one) is at your own risk. I will not take responsibility for any damage caused to any of your equipment.

Parts Required:

Freetronics Eleven or (Arduino UNO compatible board)
4 Channel Relay Module
2x 330 ohm resistors
2 x diodes
breadboard
Jumper Wires (male to male)
Jumper Wires (female to male)
Canon Powershot SX50 HS
Three core, 2.5 mm Jack

Fritzing Sketch






Connection Table



Three core, 2.5 mm jack



Camera Connection to Relays



Jack pinout



Completed Circuit




Arduino Sketch



  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
			
/* ===============================================================
      Project: Arduino Selfie
       Author: Scott C
      Created: 14th Sept 2014
  Arduino IDE: 1.0.5
      Website:  http://arduinobasics.blogspot.com/p/arduino-basic...
  Description: Arduino takes selfie every 30 seconds
================================================================== */
 /* 
  Connect 5V on Arduino to VCC on Relay Module
  Connect GND on Arduino to GND on Relay Module */
 #define CH1 8   // Connect Digital Pin 8 on Arduino to CH1 on Relay Module
 #define CH3 7   // Connect Digital Pin 7 on Arduino to CH3 on Relay Module
 void setup(){
   //Setup all the Arduino Pins
   pinMode(CH1, OUTPUT);
   pinMode(CH3, OUTPUT);
   //Turn OFF any power to the Relay channels
   digitalWrite(CH1,LOW);
   digitalWrite(CH3,LOW);
   delay(2000); //Wait 2 seconds before starting sequence
 }
 void loop(){
   digitalWrite(CH1, HIGH);  //Focus camera by switching Relay 1
   delay(2000);
   digitalWrite(CH1, LOW);   //Stop focus
   delay(100);
   digitalWrite(CH3, HIGH);  //Press shutter button for 0.5 seconds
   delay(500);
   digitalWrite(CH3,LOW);    //Release shutter button
   delay(30000);             //Wait 30 seconds before next selfie
 }
			

By connecting up the camera to an Arduino, the camera just got smarter!!

The Arduino connects to 2 different channels on the relay board in order to control the focus and the shutter of the camera. The relays are used to isolate the camera circuit from that of the Arduino. I have also included a couple of diodes and resistors in the circuit as an extra precaution, however they may not be needed.

Warning : Any circuit you build for your camera (including this one) is at your own risk. I will not take responsibility for any damage caused to any of your equipment. Do your research, and take any precautions you see fit.

The Video



For more awesome projects, or more info on this project, check out ScottC's Arduino Basics Blog