Hacking Canon Point-and-Shoot Cameras
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."
What's the cheapest camera on the list?
One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
they cripple the cameras like Linksys did with the WRT54G?
One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
Canon hacking has hit mainstream, it seems... with extra visibility I'm sure the higher ups in the company will soon know about them (no doubt the engineers already knew about the project). I LOVE my Canon cameras, so, I really hope Canon doesn't pull an Apple or a Creative and start intentionally guarding against firmware hacks because then my future purchases will have to go elsewhere.
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.
More Twoson than Cupertino
I've been aware of chdk for a bit now, and just haven't tried it out. One thing that it enables is the ability to take RAW photos. So if you are interested in taking pictures that have no compression artifacts or unknown filters, but don't want to shell out for a more expensive (and oftentimes physically larger) camera, this is an option for you. RAW photos are a standard that are used in some photo contests.
I have long been aware of CHDK, and own one of the cameras that was recently added to their "list"... the S5-IS. I got as far as downloading the file and trying to make head or tail of the 'intructions'. Not even the worst offending Microsoft 'undocumented' feature you can think of is this badly documented. There is NO step by step guide that makes you feel confident at all about loading this onto your camera. Yes there are steps - more like leaps off the edge of the Grand Canyon! Huge gaps of logic, no finale of "now go take pictures". Until its presented in a less "hacker" style I don't think I can risk screwing up my Canon warranty, thank you!
Um, changing the firmware isn't going to put a LCD screen on the mirror. Apparently you haven't grasped how a SLR 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.
If I have nothing to hide, don't search me
You like big apertures, and you can not lie?
Withstanding OR notwithstanding the DCMA, I think the developers and players could be literally figuratively "shooting themselves in the foot"... (LOL!)
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
i don't think you grasp how an SLR camera works..
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..
'...if only "Jumping to a Conclusion" was an event in the Olympics.'
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.
Tedious Bloggy Stuff - hooray?
... does it run Linux?
alias possession='chmod 666 satan && ls
Does not have to be on the mirror itself, there are a number of readings inside the viewfinder that do not have to do with the mirror. Would probably still take a hardware hack, but hey more fun am I right? And yes you are right an ND filter would work, thanks.
You know what I would like? Ability to use the LCD as a viewfinder. That would be a slick hack. Granted, I prefer using the viewfinder, but for certain angles, the screen would be much nicer (without having to buy an angled viewfinder)
I tried it with my S2 IS. They really do a good job at maintaining the "soft" firmware.
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.
Why not show the histogram on the LCD though?
Wired.com also mentioned this stuff recently. I tried it - awesome.
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!
They have this on the new Rebel and I think maybe on the new 1D.
Hardhack, by definition, is a hardware hack. That would mean, for instance, adding an MCU to the board to gain extra functionality. This is a firmware change and thus is a software hack. What lotus flower are you people eating?
Oh wait, people on slashdot are just mindless and stupid and know the difference but don't bother spending the 500us to make the distinction. I see.
(Of course, I will be modded down, but at least I get the satisfaction of wasting a modpoint.)
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 work. Leaf shutters are different.
If I have nothing to hide, don't search me
And the 40D...
And now is when I regret getting a fairly decent Canon camera. The Powershot SX100IS. Doesn't have half the stuff this supports. Of course, to be fair, it was only $200 and it has an optical image stabilizer, 10x optical zoom, 8.0 megapixels, great manual controls, and is just generally the best camera you'll find without going for SLR. But man would it be nice to add some of this stuff.
I could be totally wrong here, but I was under the impression that digital cameras don't even have a shutter. My thinking is something along the lines of a traditional film camera uses a shutter to maintain complete darkness on the film to prevetn the chemical reactions which take place upon exposure to light and the the shutter opening is able to regulate the photo-chemical reaction by limiting exposure. However a digital camera has a sensor which doesn't rely on absolute dark to prevent exposure. It simply captures all the time and the "shutter" button triggers a data capture routine in the camera's electronics which then process the captured images as a composite of all image data captured within the "shutter speed" window. Perhaps there is still some ancillary shuttering mechanism in a DSLR to prevent light from entering through the view finder and washing out the image that passes through the penta prism in the body; but I'm just guessing here.
-*The above statement is printed entirely on recycled electrons*-
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 beneath it - on older dSLRs, the image sensor only gets to play when the mirror hinges up, blocking light from getting in through the viewfinder, and the shutter opens.
(Ever wondered what that funny rubber rectangle is on the camera strap? It's for putting over the viewfinder when you're about to take a long exposure - light getting in can confuse the metering system that's in front of the shutter...)
Tedious Bloggy Stuff - hooray?
I tried CHDK on my Canon S2IS camera a while ago. While the RAW mode does work, the delay of several seconds between photos with a black screen was really frustrating. I've yet to properly process the RAW photos to compare the quality to the JPEG images, but unprocessed photos in Picassa varied wildly in exposure and colour.
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.
Um, changing the firmware isn't going to put a LCD screen on the mirror. Apparently you haven't grasped how a SLR works.
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.
It would slightly increase button-press-to-photograph time, but not by much.
If you would have read the article, you would have noticed that the firmware hacks do let you use higher/lower shutter speeds then the stock firmware. Sure they might not be reliable because they aren't tested by Canon, but they are there.
The cameras in the current story aren't SLRs; they don't have physical shutters. To hack in faster shutter speeds to a DSLR would "require" actually moving the shutter faster; there are physical limits here.
(I suppose you could probably keep the shutter open longer than necessary then expose electronically like point-and-shoot cameras, but I'm not positive this would work.)
... does it runs Linux?
Ubuntu is an African word meaning 'I can't configure Debian'
Holy crap I can't believe I giggled at that. Damn you, /.
That always puzzles me - a consumer camera like a Nikon Coolpix allows you to see the final image through the LCD (even with zoom), while Digital SLR's, costing several thousands of pounds always switch the LCD off when a picture is about to be taken.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
What I'd like is some simple tweaks to the interface.
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.
factor 966971: 966971
And wear your mirror action up twice as fast, too... And for a feature which can be accurately deduced through the meter. OMG YAY!
Constitutional rights may be respected, repealed, or modified; but they must never be ignored.
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...
Some Recent Nikon SLRs actually do this, so it's possible and has been done. Certain flash sync tricks are only possible with these models. See strobist.com for more info.
I'd love modified SLR firmware for Canon to add features they've left off, presumably to sell high priced external add ons. I want an intervalometer! (simple program to do time lapse shots in camera - Nikon's have it built in...)
1Ds Mark III has live view.
And wear your mirror action up twice as fast, too
...
The mirror doesn't need to go, only the shutter.
Anyway, I still occasionally use a couple SLRs my parents have from the late 70s. They still operate. Granted, they aren't used much, but they haven't worn out.
And for a feature which can be accurately deduced through the meter. OMG YAY!
What meter? Do you mean viewfinder?
The viewfinder doesn't show you if you are overexposing part of your image, and there are a number of times when there are shots that are very hard or impossible to take while looking through the viewfinder.
If I'm holding the camera at arms length over my head, it would be nice to see what I'm aiming at. Or be able to set it on the floor and not have to figure out some configuration where I can put my head in where I can see into the viewfinder. Or put it on the ground facing up. Or if I had more money, underwater photography. Or
Anyway, I think I would still use the viewfinder for most shots. But there are enough reasons that would be helpful that if, when I was in the market for a DSLR, there was one that had live preview and one that didn't, that would have been a strong argument for the one with it.
I was OK with Linksys reducing the memory footprint, especially since they introduced the 54GL.
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 taking the comfortable path rather than upholding the hacker roots of the 54G which made it such a success.
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.
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.
I'd love modified SLR firmware for Canon to add features they've left off, presumably to sell high priced external add ons. I want an intervalometer! (simple program to do time lapse shots in camera - Nikon's have it built in...)
I've thought about making an external programmable shutter release for this. If I ever actually sit down and learn more electronics and such that's on my list of things to do. (Also: much longer exposures.)
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!
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 great addition.
What else do they have in mind? A firmware to have a camera with a cellphone built in? Oh, wait ...
The 450D does have a live histogram when shooting in live view mode. I don't find it that useful personally, but then I don't find live view that useful either.
only took about a minute or so and now i have a [new] Canon a570is! this project is wonderful and has added some neat features... i simply copied two file to the SD card and restarted the camera... plus, the 'upgrade' is completely reversible... (i'm using the 'persistent' boot mode)
i tested picture taking and import and there have been no ill effects (although as one might expect, iPhoto doesn't support import of RAW images - and neither does Aperture) - thankfully there's the dcraw command for OS X...
I consider myself of standard intelligence, and moreover English is not my first language.
Having said that, just after reading this story I downloaded the firmware and copied it to my camera (just extract to files from the zip file using withzip or whatever is easier for you) and turn of the camera in "play" mode.
Then just choose the "upgrade firmware" menu and you are set to go.
I just took several pictures in RAW, I enabled and played a bit with the zoom-while-playing-video and with the HDR with stacking scripts. It is just a matter of putting the script in the folder that is created by the firmware.
Really, it is not difficult. And you do not void your camera warranty. Some weeks ago when I first read about CHDK, I read that someone even sent an email to Canon, and one of Canon's tech guy replied stating that, given that CHDK does not, in any way modify your camera firmware (the program stays in your SD card), the warranty doesn't get void.
I really encourage anyone with a compatible camera to give it a go...
Ubuntu is an African word meaning 'I can't configure Debian'
Frankly, unless you are a measurebator, high quality JPEG's are quite good enough for even the most discerning photographer. Especially when you consider the negatives such as long writes and sketchy interpretations.
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.
Platform advocacy is like choosing a favorite severely developmentally disabled child.
You are mostly correct.
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 delay between when they "fire" is altered.
On some more recent Nikons, the same is true up to 1/250, but then the imager becomes the gate. At shutter speeds faster than X-sync, the shutters stay open as if they were set to 1/250 even if you are at 1/8000. The imager simply captures for less time.
And on some Nikon cameras LCD shutters are being used.
It is a changing world for good old focal plane shutters.
I'm thinking about it, therefore I might be.
At least some dSLRs have both a conventional shutter and an 'electronic shutter'. This is why the humble Nikon D70 has an unusually high flash synch speed of 1/500s (presumably the sensor is only active for part of the time the conventional electro-mechanical shutter is open).
Too bad u apparently didn't have mod points.... (and, yep, I turned off karma points and subscriber bonus...)
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
A method that is used to get live preview on SLRs is a prism either in the viewfinder or in place of the mirror.
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.
I'm thinking about it, therefore I might be.
I've got a crown graphic myself, but hardly ever get to use it (I have a 3 and 5 year old...)
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
whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
I discovered CHDK while trying to find a remote trigger solution for my high altitude balloon project. After destroying three digital cameras trying to make a remote shutter, I discovered CHDK and it's UBASIC capabilities. I used a hacked-up USB cable and a simple UBASIC script to trigger the shutter from my Arduino.
Cool stuff. The HDR and RAW capabilities are incredible, for a $200 camera.
They have their reasons.
One is physical (see my post below) - the way you get the LCD image in an SLR is via a prism in the viewfinder (light from your subject is split between your eye and the LCD watcher). When the mirror flips up so the light can hit the main CCD/CMOS imager instead of your eye, well there is no longer any light going to the viewfinder or the prism where the LCD grabber lives.
One could be a reduction in power usage. LCD backlights take power. So do shutters and CCDs. At the moment of exposure, the power goes where it is needed.
Another could be processing power. Rather than drive the LCD, all of the camera's CPU is dedicated to the task at hand which is to get the exposure correct very quickly. High end SLRs will favor reaction time (reduced lag time) over live chimping because the moment of capture is more important than anything else. Low-end point-n-shoots favor creature features over lag time and that's usually why they suck for lag.
There may be more, but those come easily to mind.
I'm thinking about it, therefore I might be.
Or one could use a mirror that let, say 20% of the light through (which should be enough for the low resolution viewfinder to get a decent image).
A quick look at dcraw source code would have informed you that it can, indeed, get MUCH more fancy than that. Ignoring the complexity of containers (typically TIFF) and "encryption", pixel data is often compressed. You can see routines for Huffman coding, adaptive differential coding, even lossless JPEG for newer Canon DSLRs. It's starting to look more like an ECE4760 final project now, no?
/. -- the Free Republic of technology.
Does anyone see what the possibility of supporting the ELPH/IXUS compact flash cameras? I have an old S200.
My pretty new Canon 450D goes a step farther:
When you hit the "set" button it flips the mirror up and powers up the sensor for use as a 'point and shoot' camera.
Unfortunately, it removes the auto-focus feature as it uses the mirror and prism for focusing.
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...
Repton.
They say that only an experienced wizard can do the tengu shuffle.
What about the canon 40D? It has live preview. I don't think it uses a second sensor either. When you turn the live mode on, you hear it click like something mechanical is changing. Also, resolution is pretty good on it.
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... 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. Not true. Ever since the Olympus E-330 introduced a couple of years ago, 4/3 SLR cameras with Live MOS all have Live View (Olympus, Panasonic, and Leica)
"The only normal people are the ones you don't know very well."
Funny mods don't give you karma anyway...
All your base are belong to Wii.
Exactly. This stuff doesn't help the creative process, and it doesn't add much if you're willing to gain some personal experience.
Tangential to that, is that I do believe DSLRs are a great learning tool for perspective photographers, even if they're rarely used that way. The critical difference is the ability to shoot a few frames and have near instant feedback with practically no work. It's funny, but after using digital in the studio with strobes for six months, and having that instant feedback, I quit using a meter for more than 80% of the things I do.
However, it still amuses me to no end when some doofus goes and buys a $1700 body and $1600 lens (if not worse), just to make the most boring images ever created by man. It's good for us, though, their spending habits are pushing the price on superb gear down, down down. Thank you, people who buy top of the line pro-sumer DSLRs, just to make snapshots; you're the best!
Constitutional rights may be respected, repealed, or modified; but they must never be ignored.
Some of us are long since bored with karma and just hang out here in the hopes of finding a good opportunity for a joke.
I have seen the future, and it is inconvenient.
I installed this on my A630 after reading the wired article. Here are some interesting features: Zebra, a live flashing warning of over-exposure limit. RAW format! Though I cannot read the files on my computer for some reason. and the Live histogram is very cool. There's one feature I can't really understand though, the shutter speed override. It supposedly has settings up to 1/100k but I seriously doubt my camera's physical shutter can operate that fast. What actual settings can I set it on to have the highest shutter speed possible that the camera can physically do?
They're using their grammar skills there.
The 350D has bad enough noise at ISO 1600. 3200 would be dreadful. I'd rather have ISO 50 and 25 for using wide-aperture lenses in broad daylight and doing long exposures in the sun without having to stack ND filters. High ISO would be nice, but it's not something the sensor in the 350D can do. Let's wait for the 5D Mk II for that one...
Why can't I mod "-1 Idiot"?
Haha, that's true. I don't post much anyway so I'm not worried about karma either to be honest. I prefer to soak in the intelligent discussion here. Now I want to get a Canon camera for my parents and hack it, because although they probably wouldn't use most of the features, at the very least being able to zoom while in video would be useful, although a point-and-shoot camera is a poor substitute for an actual camcorder.
All your base are belong to Wii.
and get to work at getting me RAW mode for my Cybershot! Being able to use my cybershot also as a webcam would be sweet, too
...apart from the slightly akward UI, CHDK has given me time lapse, exposure control, shutter speed control, and reversi! No webcam capabilty so far though :(
RAW mode is very useful on small, noisy sensors. That's because RAW software running on a desktop can do a much better job doing the conversion than the in-camera converter.
> I can meter a scene at least as well as any DSLR with a 1 degree spotmeter
Which is exactly the way photographers use DSLR meters; set to spot mode, meter on the darkest highlights that you want to keep and then adjust exposure stops by a favourite rule-of-thumb to pull that to 18% gray.
Just like with your old-style hand-held meter.
Using a pair of Canon point-and-shoots,the SDM (Stereo Data Maker) version of CHDK, and a cheap electrical switch connected to the USB ports of both cameras. This allows you to trigger both cameras at very nearly the same instant, and has other stereo-related features as well.
I have a Canon 300D (aka Digital Rebel) with a hacked firmware that effectively turns it into a 10D - a much more expensive variant. Pretty much all canon DSLRs have been hacked to upgrade them and add features over the years. It was probably 5+ years ago that someone managed to run MAME on a Kodak point & click which was pretty cool too.
I want a list of atrocities done in your name - Recoil
Well, up to a point I had great words for the Canon A series cameras. But after using the Canon A540, I went back to buying Nikon digitals. The Canon A540 sure eats up batteries, no matter what I have used - AA alkaline or rechargable NiMH . And no, I do not have one of the recalled A series with a bad battery door. Anyway, I went back to using my Canon A95 for important photography, that using 4 AA batteries
All modern digital cameras, even point and shoots do have a mechanical shutter. The reason is a bit involved - readout of the captured image is not performed at one go, but rather by fields - upto 5 or 6 fields comprise each image (remember the odd/even fields of television system?). Without a mechanical shutter to shut off the light, when one field is being read out the other fields continue to be exposed to light - result is uneven exposure of image lines and smear. Mechanical shutter is the only way to prevent this. During live-view the situation is slightly different - the CCD is configured to read only one field (resolution and dynamic range is compromised for frame-rate) hence the need for mechanical shutter does not arise.
If you want to have a FASTER shutter speed for a given exposure then there are 2 variables: ISO - make it lower, or APERTURE - the larger the hole that lets in light the faster you can capture the correct amount. PS: I'm a dumbass and first posted this AC. With this being the first time i believe i actually have an informative post
There has always been the potential for these hacks to enable higher resolution video than the camera was programmed to do, but no-one has done it.