3
\$\begingroup\$

I'm looking for a way to build a zero(ish) cost intervalometer for my Canon SLR using only stuff that I have or can get very cheaply (my budget is about $4). I've already managed to "build" a wired remote for the camera, which is basically two wires connected to the ground and shutter release pins of the Canon remote connector. Touching the two wires (manually or via a switch) causes the camera to click.

I also have an old Android phone lying about that I'd like to repurpose for this project, since the phone is fully programmable. A requirement for this project is that neither the camera nor the phone can be modified in hardware (i.e., no soldering to or dismantling either).

Since the only wired interface in and out of the phone is USB (mini-USB on the phone, if that matters), I was wondering if a modified USB cable could be built that can be controlled via the phone's software, such that the circuit with the camera is completed or broken. Mutilating or otherwise modifying the USB cable itself is OK.

I'm willing to modify the software on the phone, so if this is possible, but the software doesn't support it, I'll figure it out.

Can this even be done? If not, is there an alternative way of doing this without buying a microcontroller, board and other associated stuff? I'm not a hardware guy, so please be gentle ;).

\$\endgroup\$
3
\$\begingroup\$

There's pretty much no chance you'll get all this for $4, it is not a realistic budget for this. But that's not to say it's not possible. You do need a microcontroller with USB functionality (or have it bit-banged, but USB ones are cheap enough) to talk to the Android phone. Then the Android phone could use its USB API in the SDK to talk to it and issue a command. When the USB microcontroller recognizes the 'take picture' command or whatever, it could flip a transistor on/off to toggle those wires you have and tell the camera to take a picture.

But you mentioned an 'old' Android phone, that could be a problem because only newer ones running Android OS 3.0 and up have the ability to expose the USB API to talk to it. If your target phones don't run that, this isn't going to work.

In that case, to accomodate most Android phones, even older ones, you could do this over Bluetooth. But that's going to raise your costs even more because you'll need a bluetooth module and power source for the Bluetooth, probably a battery, on top of the micro. But Bluetooth modules can be very cheap, here's one for $5.50 USD and they're even less in larger quantities: http://imall.iteadstudio.com/prototyping/basic-module/im120723010.html

Otherwise an even simpler approach with no micro could be making a circuit with a photosensor such that it triggers the camera wires to cross when it detects some amount of light, you could vary that with a pot/resistor. Then tape/connect the photosensor somehow to your phone and program it to light up the LCD or the flash on the back (if it has one) when it wants to trigger the photo. That might be do-able for under $4 but it's not very elegant.

Good luck!

\$\endgroup\$
  • \$\begingroup\$ Hmmm... the photosensor thing looks like it has potential. Elegance isn't really a problem for me, the idea is to explore just how cheaply this can be done. Commercial intervalometers where I live (India) cost about $50, which I'm really not willing to pay for what is after all, a very simple device. Cheers! \$\endgroup\$ – Chinmay Kanchi Nov 24 '12 at 0:26
  • \$\begingroup\$ Well it's not actually all that simple and $50 does sound pretty realistic. Also, intervalometers offer functionality such as changing exposure and shutter speed very reliably from the device. Just crossing wires together isn't really going to work if you need something like that. But for very simple on/off it's OK. \$\endgroup\$ – nemik Nov 24 '12 at 0:32
  • \$\begingroup\$ Well, considering that the same device costs $15 on Amazon, a $35 premium sounds ridiculous to me \$\endgroup\$ – Chinmay Kanchi Nov 24 '12 at 1:40
  • 2
    \$\begingroup\$ @ChinmayKanchi I live in India too, and I picked up an intervalometer for my Canon 5D Mark II about a year ago, off ebay.com (not ebay.in, which is full of scammers!) for $12 including free international shipping. It took a month and a bit to arrive, but it works fine, and has survived at least one fall into a river, and a lot of other outdoor photography "incidents". \$\endgroup\$ – Anindo Ghosh Nov 24 '12 at 5:40
2
\$\begingroup\$

I don't think it can be done directly, but it would be easy with any of the simple microcontrollers like the Arduino or Teensy with an USB interface.

Cheaper would be an USB to RS232 adapter using a chip like the FT232 (some of the Arduinos use a chip like this). The FT232 chips are normally used for text communication but they also have a couple of simple "on/off" outputs for flow control (labelled RTS, CTS, DTR etc). Probably you could use a transistor to drive a relay to fire the camera from this signal. Even an opto-isolator driven directly off this chip might be enough to fire the camera.

I haven't solved your problem, there is still some digging around to do if you go this way (e.g. will an optoisolator fire the camera?) and you will either have to build or find a USB module using this chip, but at least this is a starting point.

\$\endgroup\$
0
\$\begingroup\$

Depending on the phone model and SLR model, you can use usb host mode to control a canon DSLR through its native usb connection.

Aside from that, some SLRs have infrared led remote sensors that can be made or bought cheaply. These plug into the phone's 3.5mm audio jack. There are passive and active versions (uses a battery or something else to power the leds). Or you can do the same with a wired connection, either directly or with transistors.

As for usb on most older Android phones, if it doesn't have host mode, you can't do it without an middle man like a usb microcontroller.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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