Photoduino (or not…)

After I started playing with the Arduino, it wasn’t long before I had a flash of inspiration. Why not use the Arduino to control my Canon 650D DSLR camera and then be able to auto-fire it based on inputs from sensors for sound, light, pressure etc. Since I wasn’t near an internet connection at the time I started drawing block diagrams on paper and even managed to come up with a snazzy name for the thing – Photoduino. Once I got home and back online, it took me around 20 seconds to find out that such a device – including the snazzy name – already exists 🙂

Block diagram of my camera controller idea (redrawn from the scrap piece paper it was originally on 😉 ).

Oh well, great inventors aren’t discouraged by minor setbacks like this and so I am going to persevere and make a better version of the same concept (or at least one I think is better). The basic camera control for a Canon DSLR like mine is exceedingly simple. It’s just a 3-pin interface for ground, focus and shutter where shorting one of the pins to ground will trigger the function – try it with a cable and a crocodile clip if you want 🙂

Trigger pinout for Canon DSLR

I do have some basic thoughts and requirements for what I think this thing should be able to do.

Hardware features:

  • Standalone unit for inside and (protected) outside operation (surveillance, wildlife shots, timelapses etc.).
  • Same board size as a 20×4 character LCD (so app. 10*6 cm) so they can be bolted together.
  • IR remote control for at least basic functions.
  • Support for internal and external power sources.
  • Support for as many different sensors as possible with external connections.
  • Outputs for controlling lights, flashes etc. as well.

Software features

  • Basic operation as sensor controlled trigger, remote controlled trigger, intervalometer and self timer.
  • Shot counter when running as an intervalometer.
  • Variable delay (positive/negative) for outputs to sync lights etc. with the camera.
  • Dimmable/defeatable display.
  • and a few other things that I will be able to add as the project (and my programming skills) evolve…

So, lots of things to get started on here – obviously I just need to come up with a new name first…