The Canon Powershot ELPH 500 HS (IXUS 310 HS in europe, IXY DIGITAL 31S in japan) was released in February 2011


BETA is available from the autobuild server for firmware versions 1.00a , 1.01a, 1.01b and 1.01c.


Technical Data[]

→ Camera Specifications: [1] Canon USA

  • DIGIC IV image processor with iSAPS technology
  • DryOS operating system
  • 12.1 megapixel back-illuminated CMOS, 1/2.3 inch
  • Lens: 24-105mm (35mm equiv), 4.4x optical zoom, F/2.0 - F/5.8
  • Face Detection / 9-point AiAF
  • Image stabilization (lens shift type)
  • Display: 3.2 inch LCD Touch Screen, 461,000 pixels
  • Built-in flash
  • Video: 1920x1080 @24 fps HD, 1280x720 @30 fps HD, 640x480 @30 fps, 320x240 @30 fps
  • Super Slow Motion Movie (L) 120fps, (M) 240fps, Miniature Effect (HD, L) 6fps, 3fps, 1.5 fps
  • Video format: MOV (H.264 + Linear PCM (Stereo))
  • HDMI mini connector
  • Storage: SD/SDHC/SDXC memory card, Eye-Fi, MMC, MMCplus, HC MMCplus
  • Power: Li-Ion NB-6L, ~180 shots / 4h (CIPA)
  • Weight (including battery): 185g
  • Dimensions: 101 x 55 x 25mm

Firmware info[]

CHDK Specialties[]

This camera uses a touchscreen interface, so you cannot use the usual ver.req/vers.req approach to figure out the firmware version. Forum member zeno has written an application that can figure out your firmware version from the EXIF information in a picture you have taken with the camera: ACID .

Once you have CHDK on the card, to start it manually you turn on the camera by pressing the "play" button while holding the zoom knob to the left. This will add a "firmware update" menu item, which loads CHDK into RAM only.

The CHDK UI doesn't make much use of the touchscreen (which is good since all the menu items are tiny) but it does provide buttons down the left- and right-hand side to stand in for the physical buttons this camera doesn't have. In particular, the directional buttons are on the right and the "Set" button is on the left. This camera can use a large single-partition SD card for booting.

DNG4PS-2 Settings[]

from IXUS130 / Elph 500 platform_camera.h @ 24-Jul-2012

Download DNG4PS2 from

Run the program, select the settings button and go to the Camera Options tab.

Select a camera from the list and click the 'Copy...' button.

Enter the following details for the new camera settings:

Camera name = Canon IXUS 310 HS
Short name = IXUS 310 HS
Sensor size = 4168 x 3060
Jpeg size = 4016 x 3004
Active zone x1, y1 = 120, 36
Active zone x2, y2 = 4136, 3040
Black-white levels = 127, 4095
Mosaic type = Red,Green,Green,Blue
Bits per unit = 12 bit
Color matrix # 1:
Illuminant = Daylight
Matrix = 5.448080 -1.740470 -0.803990 -0.750550 4.404440 0.113670 -0.058010 0.715890 1.189140
Multiplicator = 1.0 1.0 1.0

Click Ok, on the Setting dialog.

Click the Settings button again then select the Camera Types tab. Select 'IXUS 310 HS' in the 4168x3060 entry,

Click OK.

Browse to where your RAW files are stored and then click convert - if you have the JPEG images as well make sure they are in the same directory and the program will copy the EXIF data from the JPEG.

DNG4PS2 will do bad pixel removal when it does the conversion.

For Developers[]

General info[]

  • ROM start address: 0xFF000000

LED addresses[]

Firmware dumps[]

  • Firmware 1.00A, by philmoz (full 16M dump, dumped with cBasic udumper [2]): share
  • Firmware 1.01C
  • Firmware 1.01B (forum link)
  • Firmware 1.01D

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

Porting process & links[]