Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Hacking Canon Point-and-Shoot Cameras

Posted by kdawson on Tue May 06, 2008 03:56 PM
from the now-don't-brick-it dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Thelasko (1196535) on Tuesday May 06 2008, @03:58PM (#23317104) Journal
    What's the cheapest camera on the list?
    • Re: (Score:3, Informative)

      Take a look at the list. There's a lot of cameras it supports past and present; I'd suggest you look around ebay.
    • Re: (Score:3, Informative)

      I am currently porting CHDK to A430 which cost me around $100 when I bought it about a year ago.
      • by shellbeach (610559) on Tuesday May 06 2008, @11:54PM (#23320740)

        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?
        Actually, it's not a firmware hack, either. Basically it works as follows:

        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).
  • Pointless (Score:5, Funny)

    by Uncle Focker (1277658) on Tuesday May 06 2008, @04:01PM (#23317142)

    enabling users to add features, up to and including games and BASIC scripting."
    Just what everyone in the world was clamoring for: games for their camera.
    • by Intron (870560) on Tuesday May 06 2008, @04:02PM (#23317158)
      I need games on my camera. I'm running out of room on my cell phone.
      • by Bastard of Subhumani (827601) on Tuesday May 06 2008, @04:03PM (#23317188) Journal
        My cellphone IS my camera, you insensitive clod!!!!
        • Everyone's got a camera-phone these days. Fuck that. I want to know when I can get a phone in my camera.
        • Convergence (Score:5, Funny)

          by Repton (60818) on Tuesday May 06 2008, @07:41PM (#23319250) Homepage

          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)

      by J-1000 (869558) on Tuesday May 06 2008, @04:08PM (#23317264)
      It's for more than that of course. It allows you to enable certain camera functions that do not exist in the shipping firmware, like RAW mode.
        • Re:Pointless (Score:4, Insightful)

          by vought (160908) on Tuesday May 06 2008, @05:33PM (#23318248)
          which is mostly useless on a camera with a sensor that small.


          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)

            Sensor size in that case is not measured in megapixels. APS-C is something like 28mm sensor. A typical point and shoot might have something like an 8mm sensor, and the smaller the sensor, the more likely it seems to be able to pick up noise. I think it stands to reason that if you want RAW, you might want to get a unit that's got a bigger / better sensor and lens anyway.
            • Re:Pointless (Score:5, Informative)

              by goatpunch (668594) on Tuesday May 06 2008, @07:00PM (#23318984)
              RAW gives you more image information, as you haven't gone through a lossy RAW->JPEG conversion. Whether this is to correct an under/over-exposed picture (or both*), or to compensate for an incorrect (or impossible**) white balance setting.

              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:Pointless (Score:4, Informative)

                by commanderfoxtrot (115784) on Wednesday May 07 2008, @09:20AM (#23323566) Homepage

                RAW gives you more image information, as you haven't gone through a lossy RAW->JPEG conversion. Whether this is to correct an under/over-exposed picture (or both*), or to compensate for an incorrect (or impossible**) white balance setting.
                You're correct, but people may, reading it, be under the impression the problem is the JPEG compression.

                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:Pointless (Score:5, Informative)

            by shellbeach (610559) on Wednesday May 07 2008, @12:05AM (#23320796)

            which is mostly useless on a camera with a sensor that small.


            You don't understand what RAW is for, do you?
            Actually, he/she does. I use CHDK, and I can tell you that there's very little extra info in those 10-bit raw files (that's all you get from the Canon P&S line). Remember that a lot of that extra room already goes in whitebalance correction.

            You *can* get a bit more non-colour information out of the highlights if you really push it, but really ... I've just gone back to shooting jpegs, mostly. 10-bit RAW files aren't pretty.

            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).
    • Withstanding OR notwithstanding the DCMA, I think the developers and players could be literally figuratively "shooting themselves in the foot"... (LOL!)
    • Re:Pointless (Score:5, Interesting)

      by CRCulver (715279) <crculver@christopherculver.com> on Tuesday May 06 2008, @04:26PM (#23317488) Homepage

      Just what everyone in the world was clamoring for: games for their camera.

      While games are a nice gimmick that gets the project attention, it looks like there are real features here. Me, after I lost my old Powershot I bought in 2004, I got a new Powershot A550 [amazon.com]. I was unhappy, however, to see that it had even less features than the old Powershot. Instead of trickling whizbang features down into cheaper cameras over time, Canon has been getting rid of them altogether. Now, one missing feature is hardware, the swivel viewfinder, and I can't do anything to remedy that. Similarly, I cannot use the camera as a webcam with a few hacks like I could the old one. However, this open firmware project will restore my precious RAW capabilities. It will also give me longer exposure times that I've long craved.

    • by Chris Burke (6130) on Tuesday May 06 2008, @05:00PM (#23317902) Homepage
      Well I'm assuming that's just some initial hacks they got working.

      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.
  • by Applekid (993327) on Tuesday May 06 2008, @04:09PM (#23317278)
    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.
  • by lazyforker (957705) on Tuesday May 06 2008, @04:36PM (#23317630)
    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!
  • by Anonymous Coward on Tuesday May 06 2008, @04:53PM (#23317834)
    Among things, most people use CHDK for one or more of:

    • RAW capture in cameras that don't normally support it (this one is huge)
    • Much shorter, or longer exposure times than supported by the camera's firmware (see this page [wikia.com] for high-speed examples)
    • Zebra striping mode (highlights over/under exposed areas in real-time)
    • Motion detection (which some folks have allegedly used to successfully take lightning photos)
    • Adjustable video bitrate
    • More adjustable ISO
    • DOF calculator
    • Hot pixel removal
    • Adjustable grid
    • Real-time histogram for cameras without
    • Detailed battery life meter
    • etc.
  • CHDK saved the day (Score:3, Interesting)

    by cjsnell (5825) on Tuesday May 06 2008, @06:49PM (#23318924) Journal
    I discovered CHDK while trying to find a remote trigger solution for my high altitude balloon project [nw5w.com]. After destroying three digital cameras trying to make a remote shutter, I discovered CHDK and it's UBASIC [wikia.com] capabilities. I used a hacked-up USB cable [setepontos.com] and a simple UBASIC script to trigger the shutter from my Arduino [arduino.cc].

    Cool stuff. The HDR and RAW capabilities are incredible, for a $200 camera.
    • by corsec67 (627446) on Tuesday May 06 2008, @04:23PM (#23317458) Homepage Journal

      Bonus props if you can get a live histogram in the viewfinder...

      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.

      I have needed a faster shutter speed than I was able to get.

      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)

        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.

        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. ;-)

      • by corsec67 (627446) on Tuesday May 06 2008, @04:43PM (#23317726) Homepage Journal

        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


        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:3, Informative)

          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 del
          • Re: (Score:3, Interesting)

            I could be totally wrong here, but I was under the impression that digital cameras don't even have a shutter.

            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:3, Insightful)

        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.
        • by tlhIngan (30335) <slashdot@ w o rf.net> on Tuesday May 06 2008, @05:31PM (#23318228)

          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.


          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...
    • by Ford Prefect (8777) on Tuesday May 06 2008, @04:27PM (#23317496) Homepage
      If it's anything like the 300D versus the 350D, they'll notice that people are hacking features back into the camera, and enable them by default on the newer model.

      (Is there any alternative firmware for the 350D onwards, or have the hackers simply not bothered?)
      • Re: (Score:3, Informative)

        Later revisions of 54G routers had less memory, and slower processors. Such a gimped amount of memory it took a long time to get a build of Linux that would fit.
        • by ColaMan (37550) on Tuesday May 06 2008, @05:51PM (#23318432) Homepage Journal
          It was hardly done just to spite the hackers.

          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)

            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.

            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'

      • by mrchaotica (681592) * on Tuesday May 06 2008, @06:14PM (#23318624)

        How did Linksys cripple the 54G? IIRC, they came out with the 54GL variant to keep the hacker crowd happy.

        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?)

    • Re:Ease of use... (Score:5, Informative)

      by dfn_deux (535506) <datsun510@@@gmail...com> on Tuesday May 06 2008, @04:31PM (#23317536) Homepage
      There is no risk of "screwing up" your camera, the hack loads the "firmware" into volatile ram in such a way that simply deleting the file from your mem card will revert your camera to the original state.
      • Re:Ease of use... (Score:5, Informative)

        by neonfrog (442362) on Tuesday May 06 2008, @04:58PM (#23317876)
        The risk of screwing up your camera comes from potentially feeding it a parameter outside of it's safety zone.

        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)

          by gEvil (beta) (945888) on Tuesday May 06 2008, @05:30PM (#23318214)
          Even with the clearer guide from lifehacker, this still leaves a few issues open:
          (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)

      by Cruciform (42896) on Tuesday May 06 2008, @04:54PM (#23317838) Homepage
      What exactly was hard about the instructions?
      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!
    • 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.
      • Re:Not really (Score:4, Interesting)

        by PFAK (524350) * on Tuesday May 06 2008, @04:59PM (#23317896)
        Taking RAW images with my camera was akin to storing 1 MB JPEG image into 3 MB RAW format.

        Uh, How about the fact that there are no JPEG compression artifacts on a RAW image?
      • Re: (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.

        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:3, Insightful)

      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?

      • Re: (Score:3, Insightful)

        That's my understanding as well. The RAW from a Canon SLR might have no relation at al to a nikon to a sony, etc (or even between canon models, etc). They are just the unprocessed raw data that the cameras use internally. Thus the need for import filters for programs like photopshop, aperture, and lightroom to be able to read the files from different cameras.
    • Re: (Score:3, Interesting)

      Many older Canon cameras run VxWorks, apparently - and only recently have they moved on to something entirely of Canon's own devising...