Introduction: Building the YaNis EOS Controller

Picture of Building the YaNis EOS Controller

The YaNis EOS controller is a device that allows you to wirelessly control your Canon DSLR from your Android phone.

What's really exciting here is that the Android interface allows you to change most of the camera's settings (like Shutter Speed, Aperture Size, ISO, White Balance, Focus Position and others) from more than 20 meters away! 

The controller is based on the Arduino platform and some commonly available parts. And as I will show you here, it's also very easy to assemble. 

 First, the list of things you will need:

1. An Arduino Pro Mini Board (3.3V version)

2. A USB Host Shield (Arduino Mini version) 

3. A Bluetooth Module. (BlueSMIRF , RN-42 , or cheap ebay ones) [Anything SPP compatible will do]

4. A power source for the Arduino board 


As you might have guessed, the 3 modules listed above will be simply stacked onto each other to obtain the nice PCB Sandwich that I decided to call "YaNis EOS Controller". Impressive. 

When you have completed all the steps in this instructable, you will basically have a hardware interface that allows your camera to accept commands from your android phone via bluetooth. Now, to make your phone issue those specific commands, you will need the YaNis EOS app that I created. It's free, open source and available on the Android Market.  












Step 1: Soldering the Arduino and USB Shield

Picture of Soldering the Arduino and USB Shield

Step 1: Insert the pin headers on the USB Host Shield's two sides. Solder them to the USB Shield PCB.  

Step 2: Insert the Arduino Pro Mini in those headers. Make sure you respect the orientation shown in the picture for this step. 

Step 3: Solder the Arduino Board to the USB Shield's pins you just installed in step 1. 

Step 4: (Optional) Cut off the pins leaving only the 3 pins shown in the picture. 


If you have followed those steps correctly, you should get something similar to picture 2 and 3. 

Step 2: Programming the Device

Picture of Programming the Device

You will need to upload the firmware to the device BEFORE  connecting the Bluetooth Module. 

The firmware(or Arduino sketch) can be downloaded here: 

http://code.google.com/p/yanis-android-wireless-camera-controller/downloads/list

(If there are several files, download the most recent one)


If you google around, you will see that there are several ways to program an Arduino Pro Mini board.  Here I used an Arduino UNO board as a programmer.

Step 1: First, remove the ATMega Chip from the Arduino Uno. 

Step 2: Connect the UNO and the Mini as described below:

(Uno -> Mini) 

RX -> RX
TX -> TX
+3.3v -> VCC
GND -> GND
Reset -> GRN (Reset/DTR)

Step 3: Open up the Arduino IDE. Go to Tools>Board>Arduino Pro Mini (3.3v/8Mhz / 328) 

(See picture 2) 


Step 4: In the Arduino IDE, open the sketch you downloaded in the first paragraph above. Click upload. 

If you get errors here, check your connections between the Arduino UNO and Arduino Mini. Make sure you did Step 3 correctly. 


Step 5: At this point, you have uploaded the firmware successfully,  adn you can now proceed to connect the Bluetooth module to the Arduino Mini/USB Host contraption. 











Step 3: Connecting the Bluetooth Module

Picture of Connecting the Bluetooth Module

After you have uploaded the firmware to the Arduino Mini, you are now free to attach the bluetooth module.

But FIRST , you need to make sure that the bluetooth module is configured at 9600 Baud . Consult the datasheet of the module for more info on how to do this. The steps are usually simple, but they vary greatly across modules so I can't cover them all here. 

I now assume that your module is configured at 9600 Baud


Step 1: First solder the wires that provide power to the BT module. (picture 5)

Step 2: Solder the Rx pin on the module to the Tx pin of the Arduino. Likewise, the Tx on the module goes to the Rx pin of the Arduino. 

(picture 6)

Step 3: You have now an essentially  complete YaNis EOS controller. We just need to connect the power supply then we're good to go. 



Step 4: Connecting the Power Supply.

Picture of Connecting the Power Supply.

The pictures will provide a better description of this step. Make sure you respect the polarity or you might end up frying up the whole thing. 

The power supply can be anything between 3.5v and 8v. The arduino can theoretically accept up to 12v, but I am suspicious of the thermal dissipation rating of the regulator that is on the Pro Mini. Try at your own risk. 


Once you are done, connect turn the controller on, connect to your camera and then turn on your camera. (The sequence is important here)

After that, you can pair the controller with you android phone/tablet and start using your new remote shooting skills.

Feel free to contact me for questions. But try to do a google search about the issue first. 

manis404 @ gmail.com
quadslash @ yahoo.com 


Notes:

- I used a 3.7v LiPo 400mAh battery from sparkfun here. This battery provides is good for about 8 hours of use. 

- I replaced that annoying connector that comes with the battery with a standard 'jumper-wire' connector. 

Comments

ArtF9 (author)2017-11-02

Hello.

Really cool project!

I'm trying to build a DIY timelapse slider and want to use your idea to controll the camera aswell as the slider :) Can you say what values exactly should I use for shutter speed and aperture?

Eos.SetProperty(EOS_DPC_ShutterSpeed, ???);

Eos.SetProperty(EOS_DPC_Aperture, ???);

PrithviP3 (author)2016-06-06

Also when i download app onto my phone it does not open and says its not responding. Ive tried with a S7 and a nexus 6P

manis404 (author)PrithviP32016-06-06

It has been tested on android 2.3 and earlier. So it's unlikely to work on anything released after 2012

PrithviP3 (author)manis4042016-06-06

Oh ok thanks. Also i am having trouble compiling the arduino sketch. Im using arduino 1.6.5 and i downloaded the two libraries (PTP and USB Host). When i go to compile i get error messages as in the image below.

Thanks alot for your help

PrithviP3 (author)PrithviP32016-06-07

+ Sorry if im asking to much but im a beginner programmer and any help would be appreciated.

Thanks

PrithviP3 (author)2016-04-18

Hey, Instead of using the arduino pro mini 328 + a usb shield can you use the arduino 328 (essentially the same board) but this one has a integrated mini usb? The one im looking at is this:

http://au.element14.com/arduino/a000005/atmega328-...

What do you think? Im in australia and the usb host shield you provide is $20usd + another 20 usd for shipping to here.

Please help me as soon as possible as this is urgent.

Thanks!

manis404 (author)PrithviP32016-04-18

I know the shipping is outrageous, but you'll really need the shield from the original source. Another way is to make it yourself - it's open source and not very complicated to build.

meahdi (author)2015-12-28

hi

nice project

can use other model bluetooth ?

hc-08 or hc-05 or etc ?

john earlG (author)2015-08-04

nice. btw, is it possible to send/view the photo from your camera to the android device as soon as you take a pic?

stefblog (author)2015-06-10

My bad, the AppInventor project works in AppInventor 2. You need to change the file from .zip to .aia and then you can import it.

Jan_Henrik (author)2014-02-10

Which software can i use to controol my camera, and what is the range? :o

Nice Project!!!!!!

stefblog (author)Jan_Henrik2015-06-10

https://play.google.com/store/apps/details?id=appinventor.ai_manis404.YaNis_Controller&hl=en

stefblog (author)2015-06-10

Thanks very much for this. One thing though: AppInventor was a terrible choice for this. I mean it's already not compatible with the new version (v2) and the code can't be converted in java. Basically that tutorial is trapped forever until someone finds a way to convert the old source to java or AppInventor 2. I will try though, and let you know if I succeed.

nicksimoneau (author)2013-12-19

Witch battery model do you recommand ?

amaoz (author)2013-09-20

Hello,
Can you Post an ebay link
For Bluetooth module, a Cheap One.
Thank you

manis404 (author)amaoz2013-11-18

http://www.ebay.co.uk/itm/Wireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-RS232-With-backplane-HMY-/111202555245?pt=US_USB_Bluetooth_Adapters_Dongles&hash=item19e430556d

These are available from a ton of other sellers. Just buy the one which is cheapest.

About This Instructable

32,050views

41favorites

License:

More by manis404:Building the YaNis EOS Controller
Add instructable to: