My camera doesn’t have a way to be triggered externally. So, I decided to build a remote controlled Canon camera and it turns out to be 'Green.'
So, some of you may have heard of CHDK (Canon Hack Development Kit) software.
This Lazy Old Geek has. One of the reasons I bought a Canon A495 camera was because I was hoping someone would create a CHDK version for it and they did.
So what is CHDK? Well, it’s a way of rewriting the firmware operating the camera. Now CHDK has a lot of technical features that I don’t understand. What got me re-interested was USB remote.
Step 1: CHDK
I do have some general comments about CHDK. CHDK was developed by some talented, innovative people. Canon Point and Shoot cameras have microprocessors that control their operation. They have Firmware which is software that is hardwired into the camera. CHDK customizes this software to add features. It does it temporarily, not permanently. Each model of the camera and each firmware version have a unique version of CHDK. What this means is that each version may not operate the same and may not have the same features. Also, it seems that the documentation is not consistent and may disagree on how things work.
WARNING: There is a slight chance that CHDK can damage the camera. However, there are no reported cases of this happening. By simply removing the CHDK SD card and putting in a standard SD card, the camera will return to ‘normal.’ Nevertheless, you are forewarned, do this at your own risk.
To further complicate the issue, my Canon A495 has only a BETA version of CHDK which means it is still under development as of August 14, 2011.
Here we go. This is the website for CHDK:
For those of you with a different Canon Point and Shoot camera, there is a list of supported cameras. This Instructable should work with any other supported camera that has CHDK software but there may be differences especially in using CHDK.
This is the website for CHDK Installation
There are three Beta versions available for the Canon A495. Some of the methods to find the version do not work. But I did find a way to find the firmware version that should work with any Canon camera.
Download this program
(Hopefully, it is still available)
Install it and run CameraVersion13.exe.
Browse to a *.jpg taken with your camera
The version will appear. Mine is 100F
Actually, what I did was download and try each version, until I found the one that worked.
Step 2: Installing CHDK
To install it, you can use something called CardTricks but I didn’t.
My install procedure:
Required: SD card reader on computer.
Use a blank SD card, 2GB or 4GB should be fine.
According to some of the directions 4GB will not work unless you partition it but it seemed to work fine for me.
Put the SD card in a SD card reader on your computer.
In Windows, open Explorer and find the SD card.
Right click, and select Format.
Under <File system> select FAT, not FAT32 (See picture)
I am not sure if this makes a difference but it’s what they recommend.
Select Quick Format and <Start>.
This will take a little while.
In Explorer, go to the CHDK zip file you just downloaded, right click on it and select <Extract All . . .>
Browse to your SD card, select it.
(This loads all the software onto the SD card)
Remove the SD card.
On the SD card, slide the Lock down to Lock (See Picture)
Insert the card into your camera.
Here is the CHDK users manual:
Now, here is some more tricky stuff. Canon point and shoot cameras are all a little different. You need to find the <ALT> key for your camera. Mine is the little Right arrow (See picture). You may need to read the Users Guide.
Press this <ALT> key to power up the camera.
The camera should turn on.
Press the <MENU> button, then press <UP> once (or scroll down the menu list)
On <Firmware Update>, press <RIGHT> or <Func.Set>.
Press <RIGHT> to highlight OK, press <RIGHT> or <Func.Set> to do it(See pictures).
(Remember this is not a permanent change to the firmware)
A little CHDK splash screen should appear. (See picture).
You should be set to use CHDK.
To enter the CHDK menu, make sure <ALT> appears at the bottom of your display. If it doesn’t or you want to go back to standard, push the <ALT> button.
NOTE: CHDK will override the SD card Lock so the camera can still write to the card.
Step 3: Make It Load Automatically
Okay now you should be free to play with CHDK.
Remember that when you power off, you will have to reload with Firmware Upgrade or. . .
If you want it to automatically reload when power is turned on, do the following:
Make sure <ALT> shows at the bottom of the display.
Push <MENU> (See picture).
Scroll <UP> or <DOWN> to Miscellaneous Stuff.
On Miscellaneous menu.
(Sorry, I don't have a picture as I only use my Canon camera)
Scroll down to <Make Card Bootable>.
The next time you start the camera, the Splash screen should appear automatically and CHDK will automatically load.
If you don’t want it to load automatically, just replace the SD card with one that doesn’t have CHDK on it.
NOTE: For my camera, when I turn it on, I have to push the little Camera/Video button to start taking pictures.
Step 4: Remote Operation
So the main reason, I wanted to use CHDK was for remote operation. This means I can take pictures by pushing a button or triggering with an Arduino.
The remote is hooked up to the USB connector on the camera and is triggered by sending ~5Volts to the camera. I wanted to find out how low the voltage can be and still trigger it. So I hooked an adjustable power supply to a mini USB cable and tried various voltages below 5V. For my camera, I found it would trigger at a minimum of about 3.45V.
1 USB A to Mini cable (See picture) I had several laying around
Ebay $0.99 (Search ebay ‘USB A to mini’)
1 Key chain solar light $1.00 on ebay.com (See picture)
(Search ebay for keychain solar torch)
I bought five key chain solar lights from Newegg on a Shell Shocker deal for less than a dollar a piece but they are also available from ebay. Now, I haven’t purchased one of these on ebay but they look almost identical with three LEDs so I am assuming they’re the same design.
I used one of these in my Perpetual Projection Time Machine
but had four left over.
I cut the USB A connector off of the cable leaving the mini USB that will plug into the camera. Strip the insulation back and find the red and black wires. Strip off some insulation from them.
The two halves of the solar LED can be pried apart with an Xacto or sharp knife. (See picture)
I de-soldered all of the LEDs and removed them. (You could leave one to show when you pushed the button.)
Then I soldered the black and red wires from the cable to where the middle LED went. I would suggest you use a DMM (Digital Multi Meter) to figure out which is the negative (black) and which is the positive (red) when the button is pushed. You don’t want to get these reversed. (See picture)
WARNING: Applying -5V to the camera could damage it. I suspect that Canon designs their cameras to prevent any damage but I don’t know.
I also added a 0.01uFd capacitor across the pushbutton. This is supposed to help debounce the pushbutton. Pushbuttons are electrically very noisy.
I had to Dremel off some of the button so it would clear the capacitor. (See picture)
Now reassemble the two halves. (See picture)
The reason I wanted to know how much voltage was required (3.45V) is that these solar panel lights have a LIR2032 battery which are rated at 3.7V. This is enough to trigger the camera but not over the 5V limit. If the battery is used a lot and not charged enough, the voltage may drop down but I don’t think this will be a problem.
Step 5: Using Remote
Make sure the <ALT> shows at the bottom.
Push <MENU> (See picture in Step 3).
Scroll <UP> or <DOWN> to Miscellaneous Stuff.
On Miscellaneous menu
Scroll Up to <Remote Parameters> Select.
Scroll to <Enable Remote> Press <Func.Set> or <Right> until dot appears.
Do the same <Enable Sync>.
Do the same <Enable Synchable Remote>.
Do the same <Enable Sync Delay>.
Set Synch delay 0.1mS to 2 by using <Left> and <Right> buttons.
Comments: I am not sure what all of the above does or if they’re necessary but it worked for me. The dot means it's enabled.
So you are ready to go. Plug in the remote adapter into the USB mini port.
NOTE: For this to work, toggle the <ALT> button so <ALT> is not displayed.
Press remote button once to activate Focus, press again to take picture.
When you are not using the remote, leave the solar panel side exposed to room light or sunlight. It should keep the battery charged forever or at least a long time.
CAUTION: I had a lot of trouble getting this to work. This was when I had the flash on. I noticed that it works consistently when there is no flash. Sometimes when it flashes, there is a delay before the picture is taken or a delay after the picture is taken. Fresh batteries help. It still seems to work okay but be aware that you may have delays.
CAUTION: If you download pictures with a USB cable like I do, you need to go into the <remote parameters> and deselect <Enable Remote> before trying to download pictures.
Conclusions: Well, I had a lot of problems along the way but it seems to work okay. I will probably look into other features of CHDK and this will allow me to use my camera in future Instructables with an Arduino.