The Powershot SX 20 IS with its 12.1 megapixel CCD sensor and HD video recording is the successor to the SX10 IS.


CHDK is available for the SX20 with firmware versions 1.00F (beta), 1.02B, 1.02C and 1.02D from the Download page


The SX20 CHDK DOES NOT support the manual loading method through the firmware update mechanism !
start CHDK from a CHDK-bootable SD card

Sx20is front

Front of Powershot SX20 IS

Sx20is back

Back of Powershot SX20 IS


Technical Data[]

  • Digic IV image processor
  • DryOS operating system
  • 12.1 megapixel CCD sensor, 1/2.3 inch (pixel density: 35 MP/cm²), new 12 bit type
  • 20x wide-angle (28mm) optical zoom lens 28-560mm (35mm equiv), F/2.8 - F/5.7
  • Image stabilization (lens shift-type)
  • Display: 2.5 inch vari-angle LCD, 230,000 pixels
  • Electronic viewfinder 0.44 inch, 235.000 pixels
  • ISO 80-1600, limited ISO 3200 mode with fixed resolution, auto exposure, white balance, etc.
  • Built-in pop up flash, hot-shoe for external flash
  • Video: 1280 x 720 @ 30fps (720p HD), 640 x 480 @ 30fps, 320 x 240 @ 30fps
  • HDMI output
  • Storage: SD / SDHC / MMC / MMC Plus / HC MMC Plus
  • Power: 4x AA size
  • Weight (without batteries): 560g, Dimensions: 128 x 88 x 87 mm (5 x 3.5 x 3.4 inch)
  • No thread; 58mm filters only with a filter adapter (lensmate: plastic; mike's photo: aluminium)

Firmware info[]

The ver.req file method is used to gather firmware information about this camera model.

Ver.req First Page Data: After holding down FUNCSET then press DISP:

US & Japan NTSC Version Header

Canon PowerShot SX20 IS
P-ID: 31E4  NT D

European PAL Version Header

Canon PowerShot SX20 IS
P-ID: 31E4 PAL D

Version 1.00F

Firmware Ver: GM1.00F
Jun 15 2009 15:28:22

Version 1.02B

Firmware Ver: GM1.02B
Aug 4 2009 15:10:37

Version 1.02C

Firmware Ver: GM1.02C
jan 7 2010  13:14:04

Version 1.02D

Firmware Ver: GM1.02D
Mar 9 2010 10:00:57

Ver.req Second Page Data: After holding down FUNCSET then pressing DISP twice.

Version 1.00F, 1.02B, 1.02C, 1.02D

Adj Ver.003.003

Ver.req Third Page Data: After holding down FUNCSET then pressing DISP three times:

Version 1.00F, 1.02B, 1.02C   

SubCPU Ver 1.02
Mecha Firm Ver. 2.03

Vers.req Third Page Data: After holding down FUNCSET then pressing DISP three times:

Version 1.00F, 1.02B, 1.02D

SubCPU Ver 1.02
Total Shoot: xxx
Zoom Retry Count: x
Mecha Condition: 0x00000000

Vers.req Fourth Page Data: After holding down FUNCSET then pressing DISP four times:

Version 1.02B, 1.02D

Driver Info: 0x00000000


Driver Info: 0x2000300E

CHDK Specialities[]

This section describes special CHDK-related things...

  • When powered on in playback mode, just press the shutter button full or halfway once to switch to record mode
  • To turn the camera on directly in record mode, hold the POWER button for ~1 second
  • To enable the DNG support follow the little guidance from the forum
  • The SX20's hi-speed ISO3200 scene mode can be used with CHDK ISO override (and also with the manual force flash feature !) for fast image sequences with up to 4-5 images per second: ISO3200 mode & flash (Forum link)


  • CHDK User Menu: To add menu items while you're in edit mode, use the DELETE button (also called "AF Frame Selector" or "Single Image Erase" button) (not tested yet, but this should work on the SX20 the same way like on the SX10)
  • RAW on/off: press DELETE in <Alt> mode

For Developers[]

  • The Canon Basic dumper script can successfully make a full dump on this camera. Alternatively, a modified udumper (available here) can also do a dump.


1.02b/c/d feedback[]

  • MISSING: manual loading support - the SX20 doesn't support manual loading (with "Firmware Update" from the Canon menu), only automatic loading is supported Fe50 09:58, July 8, 2010 (UTC)
  • BUG: Menu Disappearance - while circling trough various menu, suddenly all graphics disappear. Scrolling wheel usually brings them back NeoMod 14:03, July 8, 2010 (UTC)
    • This is the same across all CHDK firmwares, the Canon fw overwrites our OSD & menu...
  • BUG: Italian Language - some descriptions are too long to be displayed correctly. NeoMod 14:03, July 8, 2010 (UTC) f_m_b July 30 ->German Language too.
    • f_m_b July 30 -> Fixed with choosing another smaler "Menu RBF font" (Thanks msl). I think this workaround works with the "Italian Language" too.
    • Italian BUG Still Present, and using a smaller font did not solve at all problem. Also there are translation errors inside. I'm working on a correct translation. NeoMod 10:03, August 15, 2010 (UTC)
  • Half-Bug: due to lack of free memory after running CHDK, ZEBRA Mode works only with RGB disabled. Otherwise half-shot will lead to camera crash NeoMod 14:03, July 8, 2010 (UTC)
    • ultimA Aug 06, 2010-> RGB Zebra works fine for me in 102d. Zebra reserves the same amount of space for RGB as for non-RGB zebra, so this cannot be the cause of the crash in the first place
    • ultimA Aug 28, 2010-> Fixed in rev. 928
  • Half-Bug: RAW Mode not fully working. After some tries this is the only configuration I managed to get it working: Dark Frame Subtraction --> OFF ; RAW File Prefix --> CRW_ ; RAW File Extension --> .CR2 ; RAW Subtract Pref --> IMG_ ; RAW Subract Exte --> .JPG ; Bad pixel removal --> OFF ; DNG format --> OFF ; DNG file extension --> OFF ; RAW buffer cached --> OFF NeoMod 14:03, July 8, 2010 (UTC)
    • I use DNG + Bad pixel removal on and DNG extensions with no problems
    • RAW Problems partially solved after compiling a very "little" CHDK version, cutting off GAMES and some UTILITIES not needed to have more free space. currently under testing with DNG format + Bad Pixel Removal and it's working. NeoMod 10:03, August 15, 2010 (UTC)
    • CRW files not readable by UFRaw or RAWTherapee, CRW file seems to be wrong size for image size.
  • BUG: RAW shoting is not working at all. If DNG option is ebabled, after first shot camera froze. If DNG is not enabled, there is no way to open CRW files which are correctly saved on card. NeoMod 15:00, July 11, 2010 (UTC)
  • MISSING: Full scripting support. All Script Files from EXAMPLES folder are not loaded. DEFAULT.BAS script works correctly. Also scripts inside TEST folder works correctly. NeoMod 14:03, July 8, 2010 (UTC)
    • All scripts i've tried work this includes LUA and UBASIC.
    • f_m_b July 24 -> I have the same problem like NeoMod, i can't load any scipts under EXAMPLES. If i copy them into the root-script folder they are working fine.
    • f_m_b July 25-> fixed in german version with rev. 356 by msl / in the trunk with changeset #919 (max. length of the folder path is 4 chars).
  • SUGGESTION: battery icon and free space icon could be reduced in size to be usable. Otherwise LCD is quite overpopulated. NeoMod 14:03, July 8, 2010 (UTC)
    • This is a CHDK core issue
  • BUG: f_m_b July 24 ->option @shutter half-press [seconds] or [don't] does not work in zebra-mode. Always shows full clock.
    • f_m_b July 25 -> fix prepared, need to test and commit.
  • MISSING: f_m_b July 24 -> manual focus activ, CHDK <alt> active. No action with Button up, down, left, right, Zoom-In, Zoom-Out.
    • f_m_b July 30 ->Works fine. I misunderstood the function.
  • Half Bug: f_m_b Aug 13-> Half Shutter pressed, changing "light correction" with jog-wheel. Display doesn't actualize every time the "light correction".
    • ultimA Aug 28 -> This is most probably not specific to the SX20, but is a general problem.
  • BUG: ultimA Aug 23 -> Cannot turn on directly into REC-mode by holding down ON/OFF. Have to go to playback and switch into REC separately.
    • ultimA Aug 27 -> Fixed for 1.02d and 1.02b
  • Half Bug: ultimA -> Edge overlay crashes camera because of low memory
    • ultimA -> Fixed in rev. 928 for all
  • f_m_b Aug 27: RAW "Dark Frame subtr." = off doesnt works. Function is maybe not ported well.
    • ultimA Aug 28 -> Fixed for 1.02d and 1.02b
  • BUG: Remote USB does not work (reported by afrikaa & astrho)
    • ultimA Aug 28 -> Fixed for 1.02d and 1.02b
  • BUG: philc43 Sept 9->Image files created in new folder and reverted to _0001 after enabling "RAW File in DIR with JPEG" with DNG Format also enabled. Changed to a non CHDK SD card and this new folder and numbering sequence continued on there.
  • BUG: philc43 Sept 9 -> Noticed RAW & DNG files are always saved with date and time as 01/01/2000 00:00. JPEGs created with the RAW have correct date and time.
  • Missing: Wowsers51 10:07, November 8, 2010 (UTC)Wowsers Nov 8: There is no "Use zoom buttons for MF" which would come very handy since the rear control dial is not very user friendly.
  • BUG: Wowsers51 Dec 26- When trying to change Video Quality from "default" to "Quality" and starting to record, it doesn't work as the video starts and quit after only one seconds even though I use a class 10 card. The only way it works is to leave video at default. Very annoying.
  • BUG: mr_howdy Jan. 23- Following the procedure for .DNG conversion, I'm finding the camera crashes now and again when using Canon's native auto-bracket. On the 2nd or 3rd shot, the camera dies without warning, leaving the lens extended. Makes a disturbing clicking noise when it does this, too, so I've stopped doing auto-bracket when shooting to RAW. Works fine otherwise. My firmware is 1.02D.

LED addresses[]

0xC02200B6 AF LED (green)

Firmware dumps[]

  • SX20 fw 1.00F (blinked out by neszt): DL link, taken from here (also available from the chdkdumps2 drop).
  • SX20 fw 1.02b (blinked out by xavan) DL link, taken from here
  • SX20 fw 1.02c (dumped by rseery)
  • SX20 fw 1.02d (dumped by ultimA / JMFcanon ([1])

Download location for firmware dumps:
P&S firmware dumps mirror

Porting process & links[]

  • CHDK for fw version 1.02D works also with fw 1.02C cameras !
  • SX20 firmware dumping: forum link
  • SX20 1.00F beta version by neszt: forum link
  • SX20 1.02B beta version by acid2000: DE autobuild server
  • SX20 1.02C works fine with 1.02D CHDK version, no special port needed (tested by AstHrO)
  • SX20 1.02D version by ultimA: Autobuild server

History & News on SX20:[]

  • (19-Aug-2009) Canon press release of new camera