Hack a Canon camera using CHDK ?
Most of actual electronic products (TV, GPS, smartphones, ..) are based on an operating system or a software layer, cameras also.
It means it's possible to modify the software of a camera to change the device behavior by adding new features that could be missing. Is that a useless hack? No, it really allow adding useful features. Is it difficult to do? well, if you're able to burn a cd/dvd, you'll be able to do it. Is it dangerous ? Fortunately not, it seems the risk is very low. Here's my experience of hacking a Canon S95 (but working same for almost any other canon) camera using CHDK.
Does the perfect cam exist? The question is malformed because it's impossible to answer this question with no idea of the user need. This post purpose is not to try to explain why a cam is better than another and demonstrate why. But, by reading several website dedicated to camera, several points are appearing obviously:
- The best cam, is the one you can bring everywhere with you. Because if you don't have cam... you don't have pictures So it means it's small and easy to bring with you. According to this point of view, smartphones are very good camera (which don't means they are making perfect shoot..). The proof of this point is that most of pictures published online are now mainly coming from smartphones http://www.flickr.com/cameras/
- A compact cam suffers of the limits due to his small dimensions and will in many case (low light, ..) take bad pictures compare to a reflex or bridge camera.
-Smartphone do have cam sensors but taking pictures is not the primary use of the device wich targetting versatile uses. The space taken by the camera componement is very tiny. Optical quality, miss of optical zoom, etc ... don't allow pictures quality to reach level of reflex, bridge or even compact.
Canon S95A Canon S95 was introduced to me. This camera is a compact, so it's kind of small but it includes a bigger sensor than most of compacts. This gives it a bigger surface area for each photo-site. In consequence, it's able to grab more light and make it more sensitive to light.
Quickly I took information on this cam. On several website, this cam is gloried of the best compact cam for picture's quality. But it is not reaching a maximum mark due to the optical video zoom missing. When you're recording a video on this cam and you're trying to zoom, the digital zoom is used, means that the definition of the video is reduced.
There's limitation on many cam. For example, the miss of stereo sound record in video mode (only 1 microphone), If the hardware specification (a second microphone is missing) can explain the limitation, not using the optical zoom during video on S95 is not really understandable. It's maybe a choice of Canon? weird!?
Free your device
I was looking for firmware (name given to a software layer of a device like camera) update or alternative, I found that a dedicated community exists. This community is coding home-made firmware designed for canon camera (not only the S95) named CHDK. How is it possible to have alternative software running on a camera? A camera is not a computer or a smartphone . Those are made to download and install apps but a cam?!
In fact, CHDK is using the firmware update process of canon camera to run. The cam is checking SD card, searching update. It's fiding a loader and it boot the CHDK like if it was an updater. In fact CHDK is not updating anything. CHDK is doint absolutly NO CHANGE on the cam it's running. If you turn of the cam and remove the sd card, the cam is back to its initial state.
More exciting : the CHDK community seems having confirmation from canon by mail that using CHDK will not avoig the warranty. So it seems there's no risk using CHDK ( even if it's "at your own risks" ...)
Here's how to "install" CHDK. Before starting, you need to know the firmware version of your cam.
Canon said (camera off) to press play button + down arrow + "DISP" work.That's not really userfriendly.
So you can download and sue the "Acid" software. Once launched, just drag and drop a picture taken by your device and it will tell you the firwmare version.
Then you can download the appropriated CHDK corresponding there. There's 2 colons for :
- a small package, including the minimum for runing CHDK
- a full package wich include script, fonts, language files, etc ...
In fact, the real work for intallation is to properly format the sd card!
To make it very easy, the best way is to use Cardtricks sotfware to format and make bootable the card.
Once it's done, just copy(unzip) files from the CHDK package. That's all ...
ResultThe owner satisfaction was very fast: "But, but .. that's right, it's zooming now !"
It's important to notice than the loading of CHDK is very fast and is not discernible. The main change is that the device will start in "play" mode than in "shoot" mode. So it's necessary to press the trigger to switch to the "shoot" mode.
Then, playing the video taken using the optical zoom (in a quiet envirronement) will immediatly let you understand the main issue of this funtion: the noise. The zoom electric engine make noise. This noise is record on the soundtrack. Is that the reason why Canon choosed to use the digital zoom rather than the optical zoom ?
Anyway, this noise is not so loud and any video taken in a more living envirronement will not affect the soundtrack.
What else can CHDK do ?
CHDK is not made just for zooming (in fact it's just not the main purpose). CHDK just give a better access to cam functions for allowing very fine setting to the user (in fact too fine for most of them). So there's good and useless.
Good : the battery load level will appear in percentage than in a 4 states icon.
Useless : It's also possible to read the screen, battery on other componement temperature. Chdk allows some little games running (king of mastermind or reversi).But let focus on picture taking.There's several good and usefull option. By example, enable the RAW file saving than jpg. It means the cam will save the picture with no post data processing (cause all compact cam are processing picture before to save, for reduce picture noise in low light by example). Raw save is use by lot of user that are interested in taking good pictures.
The camera behaviour is extendable by using scripts. A script will give a serie of action to do by the cam (like a cooking receipt). by example:
- long exposure script for taking night shoot in zero light environement. It's called "long" because the shoot stand several seconds
- Intervalometer script for taking shoot every x time. Interesting to make a video of clouds or a flower opening.
- move detector script, the cam will shoot when it detect a move
- Bracketing script
- etc ...
"Yeah .. but that's gadget isn't it" ?
Yes and no. It's not thing you will use every day. But every one will want to shoot something original someday.
Here's a night sky shoot in a normal use. It's taken in countryside, far from artificial light polution:
With the same cam, using CHDK + long exposure script you can reach this (same point of view, from same place, 5 minute later):
Oh! there was a tree in the left corner !
here's some details of the same sky area (it's little blur sorry):
ConclusionCHDK provide a full access to canon camera. The device bought will be able to be used with for only limitation its hardware specification. If most of improvement offered by CHDK will never interest most of users, Is it normal to deprive all user of it ?
La discussion continue ailleurs
URL de rétrolien : http://blog.nalis.fr/index.php?trackback/116