CHDK Wiki
Advertisement

The Canon PowerShot S5 IS is a an 8.0 megapixel bridge digital camera. It uses DryOS instead of vxWorks. As of 2008-04-07, CHDK works on the S5IS (1.01b).

Notes:

  • The S5 lacks an intervalometer, even though the S1, S2, and S3 have one. The closest thing it has natively is a "custom timer" -- a timer that will take multiple photos. Use a CHDK intervalometer script to add this feature.
  • RAW samples have been submitted to rawsamples.ch and are also available for direct download [1]. UFRaw does not support S5 yet, but dcraw (upon which it is based) apparently does.
  • Use DNG4PS to convert the raw files to .dng format, which can then be read by GIMP+UFRaw or by sufficiently recent versions of Adobe Photoshop.

Download

Firmware 1.01B

Firmware 1.01A

Installation

S5IS CHDK does not have PS.FIR, so you'll have to follow these steps:

  • Make sure your card is 4 GB or less. Bigger cards require FAT 32, which requires some extra-special steps.
  • Format your card as FAT 16.
  • Make the card bootable using the instructions for your operating system.
  • Create the MISC and DCIM folders. (Not required as the camera creates these itself)
  • Drop the latest DISKBOOT.bin onto the card.
  • Lock the card using its switch.
  • Insert the card into your camera.
  • Turn on your camera.

Note: CHDK will already be loaded after turning on your camera, there is no need for using the "Firmware Update" menu entry to load CHDK (also because that entry will not be there because there is no PS.FIR / PS.FI2).

Specifications

Native

  • Aperture: F2.7 to F8.0
  • Shutter speed: 15 to 1/3200
  • The manual states that a single continuous video can be up to 4 GB or 1 hour, whichever comes first.

Added by CHDK

  • f2.7 to f11 (anything above f11 reported not to work).
  • shutter from 65 seconds to 1/33333 seconds.

Developer notes

Firmware versions

As in the A610 case, the ver.req file works as well in this model.

Presumably, the "NT" in the upper block refers to "NTSC", because a camera bought in Europe (see below) had "PAL" in the same location.

1.01A

Upper block:

Canon PowerShot S5 IS
P-ID:3148  NT D

Lower block:

Firmware Ver GM1.01A
No error
May 29 2007    18:17:20

Pressing DISP twice more (still holding SET) returns this additional block:

Adj Ver.007.000
IS Firm Ver.  3.00
IS Param Ver.  3.00

A copy of the 1.01A firmware dump (from 0xff810000) for the camera listed above (dumped via blinking the AF led) is available here.

1.01B

Another version has this lower block:

Firmware Ver GM1.01B
No error
Jun 14 2007    16:12:20

The upper block and additional text are the same as with 1.01A, though. (Timestamp changes, of course.)

A copy of the 1.01B firmware dump is available here (md5: 63f211fe670b185e48b3062aefd789ca).

Another camera with 1.01B (American-bought) returned a timestamp of Jun 14 2007 20:11:19. Note that this is the same timestamp as the European one below.

European 1.01B

Another version bought at Amazon in Germany (Made in Japan):

Canon PowerShot S5 IS
P-ID:3148  PAL D

Firmware Ver GM1.01B
No error
June 14 2007    20:11:19

Pressing DISP returns:

Adj Ver.007.000
IS Firm Ver.  3.01
IS Param Ver.  3.01

Sudamerica 1.01B

Another version made in China: Canon PowerShot S5 IS

P-ID:3148  NT D

Firmware Ver GM1.01B
No error
June 14 2007    20:11:19

It does not work CHDK 1.01B and 1.01A

European 1.01A with E18

(The camera reports E18 in these pages but works normally.) (The camera works with 0.5.5 build 527)

With vers.req , or vers.req and ver.req

Upper block

Canon PowerShot S5 IS
P-ID:3148  PAL D


Lower block page 1

Firmware Ver  GM1.01A
E18
May 29 2007   18:17:20


Lower block page 2

Adj Ver.007.000
ZoomLensError0004
2008.09.20 20.43.03


Lower block page 3

Adj Ver.007.000
Total Shoot  :7849
Open Shutter :0
Close Shutter:0


With ver.req but _not_ vers.req, the page 3 lower block was

Adj Ver.007.000
IS Firm Ver.  3.00
IS Param Ver.  3.00

while the first two pages were identical.

It is probable that the other 1.01a S5IS cameraes also "change behavior" from ver.req to vers.req (note the _s_)

LED addresses

 #define LED_AF 0xC02200E0 // AF Beam (green)
 #define LED_GR 0xC02200DC // green state-led (bi-state with orange)
 #define LED_OR 0xC02200D8 // orange state-led (bi-state with green)
 #define LED_WR 0xC02200D4 // write indicator (red)

Other leds are controlled with a LED-table and UniqueLedOn / UniqueLedOff.

Advertisement