[AlxDroidDev] built himself a nice remote control box for CHDK-enabled cameras. If you haven’t heard of CHDK, it’s a pretty cool software modification for some Canon cameras. CHDK adds many new features to inexpensive cameras. In this case, [AlxDroidDev] is using a feature that allows the camera shutter to be activated via USB. CHDK can be run from the SD card, so no permanent modifications need to be made to the camera.
[AlxDroidDev’s] device runs off of an ATMega328p with Arduino. It operates from a 9V battery. The circuit contains an infrared receiver and also a Bluetooth module. This allows [AlxDroidDev] to control his camera using either method. The device interfaces to the camera using a standard USB connector and cable. It contains three LEDs, red, green, and blue. Each one indicates the status of a different function.
The Arduino uses Ken Shirrif’s IR Remote library to handle the infrared remote control functions. SoftwareSerial is used to connect to the Bluetooth module. The Arduino code has built-in functionality for both Canon and Nikon infrared remote controls. To control the camera via Bluetooth, [AlxDroidDev] built a custom Android application. The app can not only control the camera’s shutter, but it can also control the level of zoom.
As a lover of CHDK, I’ll totally be looking into this. I’ve been wanting to use it to do long term time lapses (weeks/months possibly) from remote locations. I’ve been looking at the Pi camera too but the Canons are far superior of course. Oh, the amount of fun you can have with a $50 used camera!
Why do you need an external box to do time-lapse with CHDK? Can’t you just program it and walk away?
He’s exploiting chdk’s ability to use a USB remote so that he can control the camera via bluetooth, zooming in and out etc. Not just program and walk away.
My intention wasn’t to built a time-lapse control, because as you’ve already stated, that’s built in into CHDK. Even if it weren’t, it is easy enough to implement in CHDK using LUA scripts, rather than build hardware for that.
My intention was to remotely activate the camera. Basically, I was going to shoot wolves in a reserve forest (called “Serra da Canastra”). The wolves are quite shy, so I’d leave the camera on a tripod near where they usually feed (it is the same place every night), connected to the device I built and I’d be watching from a distance. Whenever they were near, I’d trigger the camera with bluetooth or an Infra-red control.
Arduino microcontroller clones are getting ridiculously inexpensive from asian shops. Where are the ultra low cost but high spec camera board cloned for raspi etc? The Nokia pure view stuff is years old already. Official raspi cam module retail around $30!
A good image sensor is a big one, no matter how many you make, it will eventualy boil down to silicon size, a big chunk of it will always be expensive…
Canon Hack Development Kit (CHDK)
What is the path to get all the camera live view data+live feed out of the camera remotely? Maybe using a Rpi+wifi for a short range? I have tried using the Gphoto but did no get the requiste frame rate out of it.
You can use PTP and a USB shield (or an Arduino Due or Mega ADK, etc). There is already a library that implements PTP on Arduino. In this project, however, my intention wasn’t to pull the photos from the camera, but simply activate it remotely.