Canon ELPH 115 IS

The Canon ELPH 115 IS (aka IXUS 132) is a little $100 point-and-shoot camera that is supported by CHDK. Despite a 16MP sensor, it isn't a very impressive camera as it comes out of the box, offering very little manual control. However, with CHDK installed, it becomes a very capable little camera -- that you can even program.

Canon ELPH 115 IS Overview

Canon's PowerShot ELPH 115 IS Blue page provides a good overview of the camera features and links to the manual and software support. The manual (here's a local PDF copy) is longer and far more confusing than it should be because it covers several models. The software support begins with a choice of OS; "Linux" is listed as an OS choice, but comically with no drivers, software, utilities, nor firmware available.

The specifications for the ELPH 115 IS are unsurprising, except for the sensor -- which is listed as being a 16MP CCD! Really? I'd have expected CMOS in both this and the A4000 IS we got for this course last year. I'm trying to find out....

There are not too many online reviews of the ELPH 115 IS -- and they don't go into much depth. PC mag gives a fairly minimal review giving 3/5, complaining about the "Slow performance. Noisy images at moderate ISO settings. Low-res LCD. Video limited to 720p." Fair enough. Imaging resource doesn't get into much more depth. Basically, this is one of so very many Canon PowerShots, all different, but also all similar enough to make unexciting reviews.

CHDK Support

The CHDK wiki page on the ELPH 115 IS (IXUS 132) is the best reference for using this camera, although I'll be adding materials here as we progress in the course. Unlike the A4000 IS, as I write this, the ELPH 115 IS is not supported by the stable 1.2 release of CHDK. However, the 1.3 development version works nicely. Installing CHDK does not require compiling it from scratch; just grab the autobuild version and follow instructions. Incidentally, Under no circumstances should you actually upgrade the native firmware -- CHDK uses the firmware update facility to run, but actually having a firmware update (especially one intended for a different camera) on your SD card provides a variety of opportunities to "brick" the camera.

There are lots of CHDK configuration options, but the one you need to know is that you can change which key enables the CHDK menus. By default, it uses the play (">") key -- which is an exceedingly bad choice. I recommend using the movie record (red dot) button to toggle the CHDK menus. Whichever you use, you can still perform the original key function by holding the key down longer. I'd also recommend turning off sounds, the focus assist lamp, flash, and the fancy face-recognition modes.

The non-model-specific CHDK 1.2.0 user manual is really a pretty good manual, but it isn't easy reading. In fact, the menu system for CHDK is not very simple in general -- it's not really integrated with the native menu system, but simply superimposed over the live view (and any native icons). We'll go over this in class, but practice using it is the only way to really become familiar enough to have the camera do what you want.

Annoyingly missing features? Well, a "PASM" dial would be nice. However, what's really missing are any way to hold the camera and any way to control the aperture (aperture control commands actually just click an ND filter in/out of place). For under $100 new, the camera is a very good deal.

Image Quality

Canon has a large and confusing array of camera models. In general, "ELPH" models are the classy, small, but fully automatic models. That would make one think IQ isn't very good, but actually IQ is less compromised than other aspects; lack of manual controls (which CHDK pretty much works around) and things like pivoting displays, and poor battery life, are the the primary sacrifices. Unlike the A4000 IS, the ELPH 115 IS has an "ECO mode" to save power... but I'm not sure how well that works with CHDK.

Here are three versions of a shot, taken at maximum wide angle, to give you some idea of the image quality. First, here's the JPEG file produced by the camera:

That's really not bad for such a small and cheap camera. However, thanks to CHDK, we can get more information out of the camera. In fact, we get a lot more info because Canon lied about the lens. At maximum focal length it is as advertised, but it's really a lot wider than the specs suggest -- more like a 10X than 8X zoom. So, why does Canon lie by understating the specs? Well, here's the raw image (simply converted to JPEG from a rather huge DNG file using Raw Therapee) as CHDK captured it:

See the dark bottom corners? The lens isn't exactly centered, is it? Different copies of the camera probably vary a bit on this. Beyond that, there's lots of barrel distortion. LOTS. There's a few pixels worth of CA as well. It also could use some sharpening, and that will make a little noise reduction useful. Canon fixes most of these flaws in the camera JPEG file, but we can do better. I used to use gimp to fix such things after applying dcraw for a minimally-processed conversion; Raw Therapee is so much easier and often better:

Pretty nice, eh? Well, actually, this isn't totally beautiful because the combination of lens and sensor appears to be very prone to "purple fringing," which I forgot to correct, and the other processing steps made that look far worse. Look at the leaves in the upper right. Still, not that big a deal....

Of course, using CHDK you can fix these flaws in camera too by simply inserting C code lifted from tools like gimp into CHDK. It's not trivial... for example, even the live view is cropped and corrected, so you'd even have to change how that view is created -- but it can be done. Computers as Computing Systems