SX260 CHDK Tutorial

What is CHDK?
Canon Hack Developer Kit (CHDK) allows you to run special firmware on an SD card instead of the camera’s native firmware. It gives all sorts of additional functionality (depending on model), including the ability to run scripts (basic and lua) such as an intervalometer. This set up information is relevant to the Canon SX260.

I use CHDK and the intervalometer script below in conjunction with THIS CUSTOM USB TRIGGER and

THIS MP Survey Tool, which automatically triggers the camera based on distance so that variations in ground speed during a mapping mission are no longer an issue.

What you’ll need

  • You’ll need a Canon SX260 Point and Shoot Camera. CHDK is not designed to work on DSLR cameras.
  • An SD card
  • An SD card reader
  • A computer with connection to the Internet

Here is the easiest way to install CHDK so you can start mapping:

  • Perform a low level format of your SD card using FAT16.
  • Find the right CHDK firmware build for your camera model. See this page to find the right build for your camera: http://chdk.wikia.com/wiki/Downloads
  • Download the necessary ZIP file and unzip the contents.
  • With the “lock” switch in the UNLOCKED position put your SD card in your camera and format it. Choose low level format if there is an option.
  • Put the freshly formatted SD card in a card reader and connect to your PC.
  • Copy all the files inside the CHDK folder that was extracted from the Zip file onto the SD card.
  • Copy any additional scripts such as the one below (as a .bas file), or any other scripts you want to use, into the SCRIPT folder that is now on the SD card.
  • Eject the SD card from your card reader and insert into your Canon P&S camera. Ensure the card is UNLOCKED at this point.
  • Turn the camera on and in playback mode enter the menu tools. Navigate the menu until you find the “Update Firmware” option. Select this and hit OK.

or

or a similar menu

NOTE: If you have the wrong Firmware build the camera will simply shut off when you try to perform the Firmware update. You can simply try another version until you get it right.

Once the firmware update finishes installing, close the menu screen and in playback mode or shooting mode. Now press the play button and release. You should see some text appear on the screen. Now press menu again and you should see the following:

  • Navigate to the bottom of the list and select Miscellaneous Stuff. Find the option that says make card bootable and click on it. It will complete very quickly.

  • On last critical step. Turn the camera off and eject the SD card. move the small switch on the card to the LOCK position and then insert it back into the camera.
  • Power the camera on by pressing the playback button briefly. The power should engage and you should see the following appear on the screen:

Congratulations, you’ve successfully installed CHDK.

Now let’s load a script…

  • Select scripting parameters

  • Select Load script from file

  • Select the script you want to run and hit ok

  • If you’re using a Flight Riot script you’ll need to go to the Remote Trigger Menu. Make sure Enable Remote is selected, then change Control Mode to Quick.

Congratulations, you’re all set!

Now load a Flight Riot Script, ensure you are in Alt mode and press the Shutter button once.

You should see message that says script started. Now flip the switch on your RC Tx and the intervalometer should start taking pictures.

Simple SX260 CHDK Intervalometer script:

@title Remote switch intervalometer

print “FlightRiot Intervalometer”
sleep 500
:loop
if is_key “remote” then shoot
sleep 1000
goto “loop”
end
If using the Mission Planner Survey Tools in conjunction with CAM_TRIGG_DIST, you’ll only need to use the zero second delay script as the autopilot will trigger the camera at each location automatically based on your resolution, sidelap, and overlap requirements.
You can also still use time based CHDK intervals. The FR intervalometer scripts range from zero delay to 5 seconds at one second intervals but can be modified in milliseconds as needed. Just unzip the Zip file and copy the scripts to the Scripts directory in the CHDK folder on your SD card. You can delete all other scripts except Default.
Before flight just load the Flight Riot script that contains the time interval you need for your mapping mission or simply change the interval value to an interval that you want and save the file as a new .bas and copy it to the Scripts directory.
In order to use the Flight Riot scripts, you’ll also need a method of triggering the intervalometer via USB, coming from your RC receiver. Without a trigger system you’ll need to use a script that is based on preset start and end times or one that you start and stop from the ground and it runs the entire flight. There are some freely available example scripts at the end of this post.
A couple of notes on this script and CHDK in general:
  • You’ll need to download the FR script zip file above or copy the script text above to a text editor (use notepad) and save with a .bas (basic) extension. Click the file type drop-down menu and select “all files” before saving. Otherwise it will be saved as a text file.
  • It seems that certain cameras require the initial sleep 500 prior to the :loop for some reason but others don’t. I have tried it both ways on an SX260 with no discernible difference.
  • The sleep value in the loop (sleep 1000) is a measurement of milliseconds 1000 = 1 second. Make this 0 to get the fastest interval and increase as much as you want to get larger intervals. I just have several copies of the script loaded on the camera and select the interval I want for any given flight.
  • As I have read through CHDK documentation it seems that longer scripts can add delay even if your interval is set as low as possible because it takes time for the camera to process the script itself. This is one of the reasons I like to keep it as simple and functional as possible.
  • If you have your loop sleep interval set to 0 and the delay is still too long between shots, it may be a limitation of your camera. Try looking for ways to adjust settings to get it to focus more quickly between pictures.
Additional Resources:
Don’t be ashamed to use the following link, I use it al the time 🙂
There are many different scripts available online that you can copy and use or modify and use. Here are a couple of CHDK links that offer some intervalometer script options:

1 Comment

  1. Ruben

    this camera can be linked to save the GPS position of the apm every time that takes an image?

    (@geobduffy)

Submit a Comment

Pin It on Pinterest

Let's stay in touch

Would you like to sign up to receive an occassional newsletter from us.  We'd love to let you know about new and wonderful things happening on the site.  Your details are never shared or sold and we hate spam as much as you do. 

You have Successfully Subscribed!