Hacking Canon Point-and-Shoot Cameras 242
Pig Hogger writes "If you're stuck with a cheap Canon point-and-shoot camera and have feature envy over the neighbor's sophisticated latest model, fret not! According to this LifeHacker article, the CHDK project allows nearly complete programmatic control of cheap Canon point-and-shoot cameras, enabling users to add features, up to and including games and BASIC scripting."
The most important question (Score:4, Insightful)
Re: (Score:2, Funny)
Re:The most important question (Score:5, Informative)
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Tethered shooting? Is that some really strande way of saying that you use a cable release?
Tethered to a PC. Most earlier Canon point & shoots could be told to take a shot by a PC connected to the USB port, but somewhere along the line Canon decided this feature should be reserved for the absolute top of the range model. I can't believe maintaining the feature in the cheaper models would have cost them any money - I think it's far more likely that they wanted to make sure that anyone who was that bothered about what Canon perceived as being a relatively advanced feature went out and bought
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Re: (Score:2)
Re:Who tagged this HARDHACK? (Score:5, Informative)
When you upgrade firmware in a Canon camera, there is scope to run an application before the firmware upgrade. What CHDK does is trigger the upgrade process, but doesn't upgrade the firmware -- it just uses the firmware upgrade routine to run the CHDK code on top of the firmware. The camera still works, and the CHDK code has access to all the camera variables, allowing you to do pretty much anything you want. But the underlying firmware remains unchanged (and thus your warranty isn't void).
It's all rather neat, and the CHDK code is easy to hack around with (I've done so in the past).
Re: (Score:3, Informative)
before carping about the prefix in someone else's, you should take out the adjective from your own.
Turns out it's not a "Firmware Change" either anymore than running a bootable linux CD under vmware on your mactop is a firmware hack.
What it is - and this is a critical point for warranty concerns, is the ability to
Pointless (Score:5, Funny)
Re:Pointless (Score:5, Funny)
Re:Pointless (Score:5, Funny)
Re: (Score:3, Insightful)
Convergence (Score:5, Funny)
You're making a video with your phone, when it rings. Unwilling to interrupt your filming, you hit the divert button, redirecting the call to your MP3 player. This annoys your offspring, who were watching a movie on it. To placate them, you tell them to fetch your video camera, which they can use to stream the same movie to your television in higher quality...
Re:Pointless (Score:5, Informative)
Re: (Score:2, Informative)
IMHO it has some really nice features so that we casual photographers can get more from the cameras.
Of course I won't be taking all my pictures in RAW but it is nice to have some of those features. Oh! and the optical-zoom while in video is a really useful and simple feature.
There are tons of other functions that *really* make CHDK shine...
Re:Pointless (Score:4, Insightful)
You don't understand what RAW is for, do you?
RAW allows post-capture editing of exposure, white balance and possibly other parameters. Sensor size matters not - the 4MP Canon 1Ds generated RAW mode files from an APS-C-sized sensor...would you have pooh-poohed that capability?
Re: (Score:3, Insightful)
Re:Pointless (Score:5, Informative)
You're right, a bigger sensor and lens will give you a better picture. But for a given maximum camera size, RAW will give you the potential*** for better images than JPEG. Perfect for an undercover paparazzo who needs to blow up that discreet underexposed celebrity shot to sell to US Magazine.
A decent analogy is that with JPEG you've thrown away the 'negative', and are left with only a print of the image, throwing away the rest of the information contained in the negative. If you really care about the image, or are going to spend hours working with it in photoshop, wouldn't you rather be working with an image taken from the negative, rather than the print?
* example of an under- and over- exposed picture: a person wearing a hat on a sunny day. The outside of the cap can be overexposed, while their face is underexposed. As RAW stores the image with a higher colour bit depth, you've got a chance of recovering the over and under exposed area.
** example of 'impossible' white balance: a room lit by candlelight, which has a window with an overcast sky outside. Either the room will look orange, or the window will look blue, or both- there's no way to make both areas of the picture look correct with one white balance setting. Changing the white balance of one area of the JPEG that radically will throw away masses of information, and look terrible. With RAW, you can render the picture twice with two different white balance values, one for the overcast sky, and one for the candle, and merge the two images together.
*** With a perfectly exposed picture that has the correct colour depth, the only real advantage of RAW is that you avoid the JPEG compression, but with these small sensors you're probably only going to see noise there instead of the compression, so it won't make a lot of difference.
Re: (Score:3, Interesting)
To add to all of the information above, the purpose of a point-and-shoot is to make acceptable pictures that cover most common lighting situations. This means that a lot of JPEG compression/on-board editing has to be done to make that happen. For these kinds of cameras, the RAW exports are going to be much worse than that of an SLR because of the size of these sensors (those on SLR cameras are several millimeters larger). However, this is correctable on Adobe Camera RAW or similar software.
Re:Pointless (Score:4, Informative)
RAW gives you the full bits per pixel available. This can be up to 14 in the recent DSLRs. Let's assume a P&S can give you 10 bits/pixel.
That's two more stops than a standard 8-bit JPEG, even at "maximum quality".
JPEG compression artifacts aren't the real problem - it's the colour depth available in RAW.
So shooting RAW allows you to rescue the highlights and shadows. JPEG compression artifacts are a red herring.
Of course, if we used PNG or 16-bit capable JPEG (with full EXIF), then there wouldn't really be this problem...
Re: (Score:3, Informative)
When you take a RAW image, the only camera settings that you have to worry about are the aperture, the shutter speed, and the ISO setting (of course you still need to focus/autofocus and point the camera in the right direction, etc.).
The RAW image is just the data that is coming off the sensor, without any processing. The image sensor, and therefore the RAW data saved from it, can have no concept of 'white balance' - this is a shifting of the colours in the image that takes place in the image processing
Re:Pointless (Score:5, Informative)
You don't understand what RAW is for, do you?
You *can* get a bit more non-colour information out of the highlights if you really push it, but really
That said, it's still nice to have the capability, but in the real world it's just not that useful most of the time. What *is* really nice about CHDK are the live histogram capabilities -- the live merged RGB histo is outstanding in getting the exposure right (and I don't know of any other P&S camera that provides this capability).
Re:Pointless... Between that and FPS games... (Score:4, Funny)
Re: (Score:3, Funny)
Comment removed (Score:5, Interesting)
Re: (Score:2)
Re:Pointless (Score:5, Funny)
What I really want to know is if you can disable the software that prevents the camera from stealing the souls of those photographed. Digital cameras are amazingly convenient and powerful compared to their non-digital ancestors, but they're useless to me unless I can steal souls.
Re:Pointless (Score:4, Funny)
Re: (Score:3, Insightful)
I have had CHDK installed on my A620 for a while now, mainly so that I can use it to do exposure bracketing so that I can take HDR photos automatically (using Photomatix Pro to piece them together).
But -- while hanging out at Tahoe with some buddies of mine -- we started talking about Nethack. Without saying another word, I clicked on my camera, turned on CHDK Sokoban, and handed it to a friend of mine, who was duly impressed.
Re: (Score:2)
Re: (Score:2)
Au contraire. Adding RAW support to a camera in which it has been disabled actually gives you fewer knobs to twiddle while shooting. Instead of having to get the dynamic range perfect to avoid clipping when the camera converts the image to JPEG, you get the full dynamic range of the sensor shoved straight to disk. This means that photos that might have been hopelessly washed out before are now salvageable, at least partially freeing you to focus on what matters---the picture itself---instead of having to
How long before... (Score:2, Troll)
Re:How long before... (Score:4, Interesting)
(Is there any alternative firmware for the 350D onwards, or have the hackers simply not bothered?)
Re: (Score:2)
(Is there any alternative firmware for the 350D onwards, or have the hackers simply not bothered?)
Not that I'm aware of, and I've got a 400D so I'd be interested to know as well.
The main reason there were hardware hacks for the 350D is because it was basically a higher-end camera (can't remember exactly which model - 30D?) in a cheap plastic shell with a crippled firmware. I suspect the differences between the product lines are a touch more pronounced these days - either that or they're checking the firmware at boot to ensure it is correct for the model.
Re: (Score:3, Interesting)
I own and frequently use the 300D, and it's pretty obvious to any previous or current owner of this camera that this camera was Canon's experiment into consumer-priced SLRs, as it was nearly feature equivalent to the 10D (the only difference was the buffer size and 0.5 second shutter speed difference). The separation between the Rebels and the double-digit cameras has been widening ever since.
A great example is the Canon 400D and 450D. While they do take stunning pictures and are great SLR cameras in thei
Re: (Score:3, Informative)
Re: (Score:2, Insightful)
Or, they decided to reduce their manufacturing costs by only using the amount of memory & processor power needed to run their firmware.
Saving a buck per router adds up when you're making thousands (millions?) of them.
Re: Linksys gimping the 54G (Score:2, Informative)
I was not enthused they forsake open source firmware (busybox) for closed source VxWorks, and then that Linksys or VxWorks put some checksums in their upload routines that tried to disallow altered firmware.
The fact the openWRT people finally overcame the checksums and shoehorned busybox into the gimped 45Gs (while retaining more features than VxWorks) shows it was technically possible. They were just takin
Re:How long before... (Score:5, Insightful)
If your product still runs adequately with :
- less RAM (cheaper!)
- a slower processor (cheaper!)
Then you go ahead and make the change to:
- increase profit margins
- keep up with your competitors so they don't price you out of the market.
Pretty clear-cut business case. In their case, they went out of their way to provide the original model again, pretty much just for hackers. They could've just dropped the old version, y'know.
Re: (Score:3, Insightful)
For every hacker they retained by keeping the GL, they pissed off two others (like me) who resented being asked to pay $20 more than we had been for the same hardware (or the same price for inferior hardware). Prices on technology are supposed to go down, not up, as the product gets older!
Because of that bullshit, I'
Re: (Score:3, Informative)
I would tell anyone who'd listen that if you own one of these cheapish but otherwise excellent point-and-shoot cameras (mine is a Canon Powershot A510), if you're looking for a great use for it, consider putting it to use as a Web cam, or a motion detector.
I spent quite a bit of time researching this project, and am not affiliated with either company I mention here, nor do I stand to gain from mentioning them. I only cite their names here b/c I was looking for a cheap way to get good quality, auto-recorde
Re: (Score:3, Insightful)
Without being privy to Linksys's internal discussions on this, again I would suggest that economies of scale come into it.
Eg.
- You, the manufacturer, introduce another model with equivalent performance that supersedes the old model.
- You recognise that there's a market for the old type , thus you want to keep the old model about for the hackers.
- You figure that you'll only sell 1/10th of previo
Re:How long before... (Score:5, Informative)
No, they renamed the original G to GL, jacked the price up $20, then came out with a new, shitty router that they named G for the same price that the better hardware had been before. And all this while hardware costs should have been going down anyway (as is the general trend in technology).
(Have you got a hint abut why people are pissed off yet?)
Fire the cannons, Canon? (Score:5, Interesting)
Sidenote: I had an old A80 camera that's maybe 6 years old stopped taking pictures. Turns out there was an old technical bulletin about it in their KB and that Canon was offering free repairs to any affected unit regardless of its age. I sent it in and they did what they promised AND the turnaround was around a week.
Re:Fire the cannons, Canon? (Score:5, Informative)
http://forums.dpreview.com/forums/read.asp?forum=1010&message=23803446 [dpreview.com]
Re: (Score:3, Funny)
Canon hacking has hit mainstream, it seems...
Yes, but what does this mean for our navy?!
Re: (Score:2)
Re: (Score:3, Insightful)
iPhones, iPods, etc. If Apple can break a hacked device they'll do it.
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Ease of use... (Score:2, Interesting)
Re:Ease of use... (Score:5, Informative)
Re: (Score:2)
It is how the old viruses used to work on DOS - loading into memory and then overtaking COMMAND.COM
Re:Ease of use... (Score:5, Informative)
For instance what if there were a RAM mode in the hacked firmware for firing the flash at a rate faster than the camera's default firmware would allow. You try it for that super cool skateboard picture and wonder why your flash Fresnel is brown and smoking after the fact. Granted the caps shouldn't be able to do that, but what if?
Or you try to drive the aperture 1 click past its physical limit? Do you know if the camera has limit switches or is relying on firmware pointing to known values in RAM (pulled from EEPROM at boot) that define the scope of aperture values to control that motor? Maybe it can handle a few slams at the end of travel, but what if you keep doing it by mistake?
Or you use a mode to leave the LCD backlight on while the flash caps recharge (normally the LCD backlight is off) and you fry the power supply in the camera because you sourced too much current?
Or you use a mode to drive the lens into the extended position, but somehow the hacked firmware ignores the limit switch for the little lens cover door and tries to run it at the same time? Scraaaaape.....
Don't get me wrong, this looks freakin' cool! But to presume there is zero possibility of damage seem naive to me.
Re:Ease of use... (Score:4, Interesting)
(i) its a HACK and if Canon smell it, bang goes thy warranty;
(ii) CHDK are from/in Russia - genius programmers, but nationally a poor track record on the TRUST aspect.
The first one is addressed right here [wikia.com] on the site. And sorry, but I can't help you with your xenophobia.
I've used CHDK on my A710IS for about six months with zero problems. As many others have mentioned, it's incredibly easy to disable it, but the features that it adds are very handy.
Re:Ease of use... (Score:5, Informative)
When I first found out about CHDK I had it running on my camera *3 minutes* after the download completed.
All you do is:
1) copy the files to your flash card
2) Power up the camera in playback mode while holding the menu button to add the firmware update option to the menu. This is something you should already know how to do from the cameras manual!
3) Select the update.
Once the files are on the flash card you can repeat this process at any time in under 15 seconds. If you want to use the stock firmware then you just don't run the update.
The custom firmware has all kinds of neat features. If you like making HDR pics, you can use available scripts or write your own to bracket the exposures. My Powershot A620 now has the ability to shoot RAW thanks to CHDK.
Some builds even incorporate face detection and motion detection. Screw webcams, how about having a 7 megapixel camera capturing what's happening outside your window.
Time lapse photography is now a cinch, as are all kinds of things that the stock camera doesn't do.
I never found any of the features to be all that hackerish. They don't document using a histogram, sure... but if you're downloading a firmware for the use of a histogram, you probably already know what one is!
Re: (Score:3, Informative)
Love it. I'm using Allbest's build on my SD800 IS (Score:3, Informative)
One of the coolest features is that at any time you can restore your camera to default settings just by turning it off - no permanent flashing of BIOS/firmware!
No SX100IS support? :( (Score:2)
Games are hardly among the main features (Score:5, Informative)
Re: CHDK (Score:2)
If you're using CHDK for RAW you might be disappointed (buy an DSLR with lots of buffer memory), but some of the other features are quite neat.
Re: (Score:2)
I'd download it for the RGB histograms alone. I can hardly believe they'd leave that out. I guess that's what happens when your bottom end and high end aren't very different once you get past the glass.
They're not that bad (Score:2)
The headline makes it sound (unintentionally) like Canons are crap, but actually they make some of the finest point-and-shoot cameras out there. I have an old Powershot A530 that, despite having "only" 5 megapixels, take beautiful sharp photographs, either in manual or auto mode, and holds it own when compared to newer cameras.
Anyway, i'm so downloading this. Sounds like a
CHDK saved the day (Score:3, Interesting)
Cool stuff. The HDR and RAW capabilities are incredible, for a $200 camera.
Re:Only Point and Shoots? (Score:5, Informative)
Um, changing the firmware isn't going to put a LCD screen on the mirror. Apparently you haven't grasped how a SLR [wikipedia.org] works.
The firmware probably isn't going to be able to get the shutter to go any faster reliably. What you need to use is a ND filter if you like wide apertures.
Certainly the scripting stuff could be used in a SLR.
Re: (Score:3, Informative)
I think the 450D has a live preview feature - so not exactly through the viewfinder, but a live histogram would be a funky addition.
Assuming it doesn't have it already - I'm happy with my old 350D.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Or maybe you don't have enough imagination. Why not lock the mirror up with the shutter open (thus exposing the CCD), then when the button is pressed, close the shutter, start exposing, open the shutter, expose, close the shutter, stop exposure, then open the shutter again.
Because holding up the mirror for that long uses a lot of power. Doing it on every shot would decrease your battery life by at least 50%.
Don't forget about light leaking in through the finder, either. On a DSL in bright conditions, this is a non-trivial limitation. Be my guest if you want to cover the finder every time you shoot.
Re: (Score:2)
And wear your mirror action up twice as fast, too... And for a feature which can be accurately deduced through the meter. OMG YAY!
+1 funny. Digital has brought out many interesting habits in new-to-photography digital photographers.
I can meter a scene at least as well as any DSLR with a 1 degree spotmeter - what makes people think they need a 256 level graph to meter a scene is beyond me, but you know, I also shoot 4x5 film, so I tend to think carefully before shooting and look at the scene before shooting - not a bar graph.
Re: (Score:2)
Yup, the digital photo never learned on film crowd is very very different.
When I got my F4s I bathed in the glory of it's insane FPS, until I had to pay to develop the 15 rolls of film shot in only seconds of shooting (sans reload time).
-nB
Re: (Score:2, Funny)
Re: (Score:2)
the shutter speed is limited to the shutter servo - they put settings so that it will work without prodcution tolerances.. while it might be posiable to make it faster it wouldn't be reliable
as for the live historgram - that would be afeet of enginering - and now way could you do it with an firmware update.. again.. see how an SLR works..
Re:Only Point and Shoots? (Score:5, Informative)
Actually, don't the shutter blades always fall at the same speed? Their speed is the flash sync, the fastest speed where the whole film is exposed at a single point in time, right?
Then to set the 'shutter speed', the time between the first shutter blade and the second shutter blade is changed.
At least, that is how Focal Plane shutters [wikipedia.org] work. Leaf shutters are different.
Re: (Score:2)
Re: (Score:3, Interesting)
I don't actually know about point-and-shoots (I assume they don't have conventional shutters, what with all the live-preview stuff) - but digital SLRs most definitely do.
Actually, the best way to imagine a dSLR is as a film SLR, but with an image sensor taking the place of the film. The half-silvered, hinged mirror is still there for the viewfinder, as is the autofocus and metering gubbins arranged b
Re: (Score:2)
Re: (Score:3, Informative)
On Canon SLRs the shutter blades travel as you describe. As the shutter speed gets faster, the delay between when the first/front curtain fires and the second/rear curtain fires gets shorter and shorter. At shutter speeds faster than X-sync (fastest shutter speed usable with flash), both curtains can be moving at the same time leaving a narrow slit between them. The width of that moving slit is effectively the shutter speed. The curtains always move at the same speed, just the del
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re:Only Point and Shoots? (Score:5, Informative)
Because it's physically impossible on an SLR. In an SLR, you have the lens, that then is followed by a mirror. The mirror, in the "down" position, reflects the light from the lens through the prism viewfinder and then to your eye.
When you click the shutter, the mirror flips up (viewfinder goes dark), exposing the shutter which then opens and shuts the right amount of time the actual camera sensor.
That's not to say it's not possible to say, add a little cameraphone like sensor and offer a live preview (several dSLRs do this now), but historically, it wasn't possible. The light is either going to the main camera sensor, or the viewfinder. A small amount is actually reflected *down* for autofocus, though.
Though, as anyone knows, holding your camera at arm's length (so you can use the LCD as a viewfinder) sucks for camera shake. And most camera LCDs are of QVGA or lower resolution, so you miss out on all the nice little details youc an see through a real optical viewfinder like that on a dSLR...
Re: (Score:2)
Canon had a film camera years ago that used the prism-instead-of-a-mirror method. The benefit was you never lost the image in the viewfinder and the camera could do 10 FPS (which was amazing back then). The drawback was it cost you 1 to 2 stops worth of light.
Re: (Score:3, Insightful)
For instance, the ability to delete photos by range (e.g., this photo and all previous ones). Useful when you download the photos to the computer, forget to delete them from the camera, and discovers that after taking one more photo: shit! Now you have to delete all the other 400 photos one by one.
Re: (Score:2)
Not really (Score:3, Informative)
Although, for RAW images, cheap point and shoot cameras don't have physical build, and lack everything that makes RAW images special. Taking RAW images with my camera was akin to storing 1 MB JPEG image into 3 MB RAW format.
Re:Not really (Score:4, Interesting)
Uh, How about the fact that there are no JPEG compression artifacts on a RAW image?
Re: (Score:3, Informative)
RAW images should give you the ability to white-balance them after the shot. (You at least can with the RAW images from my DSLR.)
That alone is worth the price of admission (i.e. a larger memory card) IMHO.
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2)
RAW photos are a standard that are used in some photo contests.
Isn't "RAW" really just an umbrella term for a number of competing and very ad-hoc formats?
Original post should have referred to "lossless" instead of RAW, but, even following that, how complicated could RAW be? You've got RGB information in some order uniform order and bit-depth in sequence from one corner of a picture to another. Trying it once will instantly reveal each component's bit-depth, order of the colors (maybe BGR like most LCDs?), top-left-to-bottom-right versus bottom-left-to-top-right.
Hell, the fanciest it might get is some header with EXIF information (easily stands out from open
Re: (Score:3, Informative)
The source code file can be found at this file [cybercom.net]
Re: (Score:3, Informative)
Re: (Score:3, Interesting)