Simple Tool for Installing CHDK (STICK)
for Windows, OSX and Linux (Ubuntu)


All my apps are freeware, but if you've found them useful and would like to thank the author, you can make a donation (for example £1, €1 or $1) to show your appreciation for the many hours spent working on them!

STICK is a Java application designed to make the process of installing CHDK on your Canon camera as simple as possible. It does for CHDK what my ASSIST app does for SDM. If you don't have Java installed, here is the official download site for Windows and Linux. For recent versions of Mac OSX (Yosemite and later) you need to install legacy Java 6 from Apple here..

All you have to do is drop a photo taken by your camera on the STICK window and it will:

It runs under Windows (from XP onwards), Mac OSX (from 10.6 onwards) and Linux (Ubuntu 11.x and 12.x at least - but see note below).

A few cameras, currently:

require special treatment. See this page for more details.

To make things as easy as possible all you have to do is press a button to make STICK continue to the next step and on-line help is just a button-click away. Here's a picture of STICK just after a photo has been dropped.

Downloading and Installing STICK

Download the STICK zip file and unzip it. You'll get a folder called 'stick' which you can relocate anywhere you fancy. Inside the folder are the following files:

Running STICK

Double-click the appropriate script file (bat, cmd, command or sh file), depending on your Operating System. For OSX or Windows XP, double-clicking the jar file should work.

STICK will look for a valid build in 4 places:

  1. the 'stable' CHDK (currently 1.4) site
  2. the 'trunk' CHDK (currently 1.5) site
  3. the 'stabiles' CHDK-DE (currently 1.4) site
  4. the 'experimentelle' CHDK-DE (currently 1.5) site

Which of these STICK searches first depends on which build preference choice you select on the start-up screen. For most people, the 'stable' CHDK is the right choice (it's also the default when STICK is first installed), but you may want to install the 1.4 'development' version in order to use some new feature it contains.

Note that:

STICK will also detect if a build has been previously downloaded and if so, let you skip the download step. This can be useful if you want to prepare another card for your camera, but of course skipping the download step may mean you don't get the latest CHDK build.

exFAT cards

STICK can't currently reformat exFAT cards as FAT32 or repartition them into FAT16 and FAT32 partitions, at least not reliably. If STICK finds an exFAT card it will will issue a warning message, asking for another card to be inserted. In such a situation reformat the card as FAT32 and try STICK again. Note that Windows cannot format cards bigger than 32GB as FAT32 - if you have such a card try one of the 3rd-party formatting tools such as this one or this one.

Installing 'unofficial builds'

Starting with version 1.08 (December 2013) STICK will now install a downloaded unofficial build. See here for more details.

Supporting Files

STICK copies all the necessary files to the card - DISKBOOT.BIN, PS.FIR and the contents of the CHDK folder. After running STICK the downloaded files are in a sub-folder of the stick folder whose name is the model name and build of the camera (e.g. "a570-101a).

Note for Mac OSX Users

Recent versions of OSX (Mountain Lion and later) require root access to make changes to cards. As a result, STICK will fail with a "permission refused" message unless it has root access. To run STICK under Mountain Lion, Mavericks, Yosemite, El Capitan or later versions, use the stickML.command script. Double-clicking the script will bring up a terminal window and sudo will ask you to type your logon password so STICK can get root access. STICK will run when you press return.

Note for Windows Users

For cards larger than 4GB in pre-2011 cameras, STICK will create two partitions - a small FAT16 one containing DISKBOOT.BIN and a large FAT32 one for photos. Note that Windows will only let you see one partition at a time - use my WASP utility to switch between them.

Under the covers STICK issues commands and makes API calls that require administrator privileges under Windows 7 and 8. If you run STICK when logged on as a general user, without admin permission, STICK will diagnose the problem and display the message:

  STICK needs Administrator permission - start it by double-clicking STICKX.CMD

On a 64-bit system and on some 32-bit systems, even if you are logged on as an Admin, you will have to start STICK using STICKX.CMD, otherwise STICK will not be able to analyse your card. It should display a message like this:

   STICK needs permission to analyse disk
and the log will contain a message like this:
   Failure checking device '\\.\PHYSICALDRIVE2' - error 5
If you see this message, or are running a 64-bit Windows system, terminate STICK and double-click the STICKX.CMD file. This will display a dialog allowing you to temporarily 'elevate' yourself to Admin level by selecting a user account with these privileges. STICK will then run properly.

Unfortunately this temporary elevation breaks drag-and-drop (it's a known Windows problem) so you will have to use the Browse button to locate a photo.

Note for Linux Users

Be warned that STICK fails under some (most?) versions of Linux.. The problems arise because of the different ways Linux chooses to name removable drives like card readers and my failure to write code that distinguishes them properly despite many attempts. The problem arises when STICK is trying to prepare the card (after downloading a build).

STICK needs sudo permission for some of the commands it issues. Currently that means you need to run it from a terminal window, setting the current directory to the folder containing the jar file and typing:

   sudo java -jar stick.jar

When you run it it will ask you to type in your admin (logon) password and then run STICK


Pressing the 'Help' button when STICK is running will display one of the following pages in your default browser:

Extra Features:

STICK has some extra features that can be enabled by changing its properties file, "", (which you will find in the same folder as the app once you've run it). These features are:

Version History:

There's a companion app, ASSIST, which will install SDM in just the same way.

Comments, suggestions and bug reports welcome.

For other SDM and CHDK-related stuff of mine, see here

Locations of visitors to this page