We all love to hack the system and get more for less. That’s exactly what Canon’s CHDK firmware aims to do: it allows you to add capabilities to unpretentious cameras that only cool cameras have. With its help, you can teach the camera to shoot RAW, if it does not know how, get an extended ISO range, a time-lapse shooting function, sharpness bracketing, and even play Tetris on the camera. Read about what CHDK firmware is, how to install it on your camera yourself, what equipment it will be useful for and how the firmware affects the warranty, read in this material.
What is CHDK and what cameras it is suitable for
Features provided by CHDK firmware
How to install alternative firmware CHDK
Scripting and programming in CHDK
An important warning before we begin. It is worth remembering that any third-party firmware is something like a construction of two chairs stacked on top of each other, which you use instead of a stepladder. Yes, with its help you can reach the chandelier in the center of the ceiling, but there is always a risk of falling to the floor. With a stepladder, it will still be more convenient and stable.
Experimenting with the firmware may damage the camera and void the warranty. Firmware is best used on a camera that has already expired warranty service.
CHDK (Canon Hack Development Kit) is an alternative software that is loaded into the camera’s RAM and enhances its capabilities. For simplicity, it is often referred to as firmware, and we will use this term too. But, strictly speaking, CHDK is not a firmware, as it is loaded every time from a memory card, without replacing the original firmware. And if you no longer need the CHDK, just insert a blank memory card and your camera will boot with the original firmware without any add-ons.
CHDK is exclusively for Canon cameras. But not for everyone: basically, firmware is developed for compact cameras with Digic 2 — Digic 7 processors, for example, Canon PowerShot G7 X Mark II, Canon PowerShot G1 X, Canon PowerShot G16, Canon Powershot SX730HS. A complete list of compatible cameras can be found on the CHDK community page. You can also download the firmware there.
Shooting in RAW. Not all compact cameras can shoot in RAW (for example, PowerShot SX170IS), this feature can be added using the firmware. Shooting in RAW has a number of advantages in post-processing. But it also has a number of disadvantages.
Moreover, RAW can be saved both in the standard Canon .CRW format and in the open .DNG.
Extended ISO values. The firmware allows you to set the sensitivity outside the standard range of the camera. For example, Canon G11 in normal mode allows you to change the ISO in the range from 80 to 3200, and with alternative firmware it can be raised a few more steps, up to 10000, and shoot in darker conditions. Of course, it will not shoot as well as the Nikon D780, but it will allow you to shoot more than the camera allows by default.
Zebra. Allows you to highlight the overexposed and underexposed areas of the frame with color. Useful for those who are learning to shoot in manual mode. Zebra can be set to a sensitivity threshold at which it highlights problem areas. Such an advanced zebra can only be found in firmware, or in professional Sony mirrorless cameras. For example, Sony Alpha A7S III.
Bracketing in continuous shooting. Adds not only standard shutter, aperture, or ISO bracketing capabilities, but also focus bracketing, a feature found only on expensive professional cameras such as the Canon EOS R6, Nikon Z7 II, Fujifilm X‑T4, or Olympus OM‑D E ‑M1 Mark III. Of course, an old compact camera will not give the same image quality. But it will allow you to practice focus stacking before buying an expensive professional camera with this feature (and to understand if you need this feature or not).
The firmware has a lot of functions and features, some of which may seem somewhat strange. For example, there you can find a reader for texts, a flashlight (illuminates the screen with white light) and even a few games.
Also, using the firmware, you can get the interval shooting mode, motion detection and a number of other advanced features. To do this, you will need to additionally find and install special scripts, they will be discussed below. First, let’s see how to install the firmware.
To install CHDK, you will need a blank memory card and an archive with suitable firmware. The card needs to be formatted (this can be done right in the camera), after which we unpack the archive with the firmware files onto it. After that, turn on the camera in view mode (to do this, instead of the ON / OFF button, press the view button), and look for the “Firmware Update” / “Firmware Update” item in the menu.
If everything went well, the CHDK logo will appear on the screen, and the camera will be ready for use.
Now the camera has two modes of operation: main and alternative. The main one is practically no different from working on native firmware, all buttons perform the same functions. And all the most interesting, for which photographers install this firmware, is in alternative mode. To enter this mode, the “S” button is used by default (it is also the print shortcut button, a printer icon is usually drawn next to it).
After pressing this button, the functions of the camera buttons change. So, by pressing the “Menu” button, we will not get to the standard Canon menu, but to the CHDK settings menu.
Now you can enable and configure options that are not available using the standard menu. After the additional features are configured, do not forget to press the “S” button again, and return from the alternative mode to the normal one.
Even more possibilities are given by the use of scripts — special programs written for CHDK. Some of the most useful ones come with the full version of the firmware.
Interval shooting. Of course, modern SLR or mirrorless cameras can do this without any additional firmware (and some of them, like the Canon EOS 5D Mark IV, can independently assemble a time-lapse from the resulting photos).
But there are times when it is a pity to use an expensive new camera. But the old “soap box” worth a couple of thousand rubles can be safely left on the porch of a tourist house to shoot the night fog, and go to bed yourself.
To work with scripts, you need to press the button for switching to the alternative mode (S), then the FUNC / SET button (it is located in the center of the joystick) and select the “Load script from file” item. A list of all scripts available on the map will appear on the screen, from which you can select the one you need. In addition to those included in the kit, scripts can be found on the Internet.
We select the desired script from the list, and a window of its parameters will appear in front of us.
After setting up the script, select “Back” to exit the settings menu. To run the script, you need to press the shutter button without leaving the alternative mode.
The second interesting script is Motion Detect (motion detection). When it is launched, the camera starts to monitor what is happening in the frame, and as soon as the brightness in one of the tracked areas changes noticeably, the camera will take a picture. So the camera turns into a camera trap.
Motion Detect can be applied in different ways. You can track what your cat is doing while you are at work. At the same time, unlike interval shooting or video recording, the camera will only fire when something happens in the frame, and you will not have to look at how the mustachioed sleeps on the couch for hours.
You can put the camera with the script enabled on the race track, and the camera will automatically shoot the athletes running past while you shoot in another place. And if you set the delay to zero, you can try to remove the lightning.
The scripts themselves are written in the uBasic language, and if you are good at programming, you can try writing your own script for CHDK. And even without understanding anything in programming, you can open the finished script in a regular Windows notepad and edit the parameters. This is what the script looks like Motion Detectopened in Notepad.
In general, CHDK should be considered as an opportunity to get acquainted with the interesting features of older cameras without buying them. If, for example, you tried to shoot time-lapses on a flashed camera and you really liked it, you should choose a camera that can shoot them without dancing with tambourines. For example, Olympus OM‑D E‑M1 Mark III.
Or after working with the firmware, you may realize that you cannot live without shooting RAW or using high ISO values. Then you should look at full-frame cameras.