Controlling a Canon EOS w/ your Android device: Setting up DSLR Controller

Sat, Aug 10, 2013
I've started playing with the DSLR Controller app on my Android tablet as a means of remotely controlling my dslr.    At this point I don't have enough experience to say much about actually using the app, but so far I think it's neat and has lots of potential for becoming a valuable tool.

So instead of sharing half-baked usability tips and opinions I'd like to recount my experience setting up the app, as well as some of the technology that makes this possible.  Perhaps it will help others understand just what's needed to make use of this tool, and how to get it running.

First-things-first, here's what I'm working with:
I mention this because this app only works on certain Android devices that support the USB On the Go (OTG) host mode.  It also only supports Canon EOS camera models released after mid-2008.  So before you run off and buy this app be sure you consult the compatibility tables for your Android device and your camera.

Beyond the camera and Android device, you'll need to get a USB OTG cable or adapter to allow the Android device to play the role of host to your camera.

USB OTG and USB host adapter/converter

(Skip this section if you're familiar with OTG or aren't interested in the hows and whys of OTG adapters)

This was the first time I've had a use for USB OTG, so some of the principles and terminology were less than transparent to me.  While I'm not an expert, I've now done just enough research that I think I can shed light on the subject for others who have never used USB OTG.  If you find any errors or anything that I've just plain made-up then do me a favor and correct me via a comment.  Here goes:

USB works by establishing a master/slave arrangement between the connected devices, though the terminology that's used instead of "master" is "host".  Typically you take your USB device, be it a camera, phone, tablet, thumb drive, etc, and using the cable that came with your device you plug it into a laptop or desktop computer.  When you do this your computer acts as the USB host thereby providing power and handling the data communications with your USB slave device.  Honestly, this is something I'd never thought much about.  The beauty of USB devices is that they typically "just work", so you don't have to think about how the magic happens.  

As mobile devices (tables and smartphones) have gotten more powerful and ubiquitous the appeal of enabling "host" capabilities on those devices has grown.  The idea is that you've got a powerful little computer in your pocket, so why not allow it to act as a controller for other USB devices?  The problem is that by default your mobile device is not a USB host.  So the solution is to enable some tablets and phones to operate in both slave and host mode.  The way this is accomplished is through adding both hardware and software support on the mobile device to recognize when it needs to function as a USB host on the fly, making the whole thing "plug-and-play".  

Here's the catch though: how does your tablet know when it needs to play the role of host?  This is accomplished by making a small electrical change within OTG cables (or OTG adapters) to signals the tablet or phone to act as the host.  The electrical change appears to be nothing more that soldering the typically unused 4th pin within the USB connector to the 5th pin which is the ground.  With this wiring configuration in place the tablet recognizes that it needs to transition and begins acting as a host.

This wiring difference is why you must use a USB connection adapter that is specified as OTG.  Non-OTG adapters just won't work.  So while you can make your own OTG adapter if you're handy with a soldering iron and have a spare USB cable on hand, I'd recommend just buying one.  There are tons of them on Amazon for less than $5.  The one I linked to above is a little more expensive, but that's because it comes in a kit that includes HDMI adapters as well.

Physical Setup for DSLR Controller

Plug everything in with the tablet on and the camera off.
  1. Plug the USB cable that came with your camera into the camera as you would if you were going to plug it into your laptop or desktop computer.
  2. Plug the big USB A male end of the cable (normal USB plug) into the USB A female end of your OTG adapter (normal USB socket).  
  3. Plug the small USB micro end of the adapter into the USB micro socket on your phone or tablet.
  4. Turn your camera on.
Now you'll want to test if everything is working.

Testing your configuration 

Even though my tablet and camera are listed as compatible with DSLR Controller and I was equipped with a a USB OTG adapter, I wanted to test out my configuration before I spent the $8 on the DSLR Controller app.  So here are some tips for testing in advance of buying:

  1. Download DSLR Controller's littler, freer sibling app, Remote Release (USB). This app is by the same developer as DSLR Controller, Chainfire, and works the same way with regard to your USB connected setup.  If you install this app and everything just works, you're clear to go ahead and spend the $8 on DSLR Controller.  If it doesn't just work, try rebooting your tablet.. that's what eventually worked for me.
  2. If things still aren't working well, you can check out your tablet's USB OTG capabilities with another of Chainfire's free apps called USB Host Diagnostics.  This app will give you a breakdown on how your OTG config is being seen by the hardware and software on your tablet.