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 04: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, @04:58PM (#23317104) Journal
    What's the cheapest camera on the list?
      • by shellbeach (610559) on Wednesday May 07 2008, @12:54AM (#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, @05: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, @05: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, @05:03PM (#23317188) Journal
        My cellphone IS my camera, you insensitive clod!!!!
        • Convergence (Score:5, Funny)

          by Repton (60818) on Tuesday May 06 2008, @08: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, @05: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:5, Informative)

            by shellbeach (610559) on Wednesday May 07 2008, @01: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).
            • Re:Pointless (Score:5, Informative)

              by goatpunch (668594) on Tuesday May 06 2008, @08: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.
    • 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, @05: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, @06: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, @05: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 Anonymous Coward on Tuesday May 06 2008, @05: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.
    • by corsec67 (627446) on Tuesday May 06 2008, @05: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.
      • by corsec67 (627446) on Tuesday May 06 2008, @05: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.
        • by tlhIngan (30335) <slashdot@@@worf...net> on Tuesday May 06 2008, @06: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, @05: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?)
      • by mrchaotica (681592) * on Tuesday May 06 2008, @07: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?)

        • by ColaMan (37550) on Tuesday May 06 2008, @06: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:Ease of use... (Score:5, Informative)

      by dfn_deux (535506) <datsun510NO@SPAMgmail.com> on Tuesday May 06 2008, @05: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, @05: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:5, Informative)

      by Cruciform (42896) on Tuesday May 06 2008, @05: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!