USB shutter release under CHDK

This post is a case of putting the information up here as an aide memoir. I had trouble with this. Not because it’s difficult but because once done it’s easy to forget how you did it months later when a change of SD card prompts a re-install. This example is for the Canon S95 other ‘powershot’ cameras should be similar. I got this to work on the Canon Ixus 7 too.

USB remote cableCustom cable. The cable is a hacked mini USB one with the A end cut off and replaced by a Futaba type connector. Inside the USB end only the red and black wires are required. There are some variants about and the ones I have used successfully are the ones with a red and a black wire in them. Join the red wire to the red on a Futaba lead and the black USB wire to the white Futaba (signal) line. That’s it. If the soldering iron is not your thing a professionally made one is available from Gentles Ltd.Gent 349CHDK . Provided the camera can support a build of CHDK the cable can be used to trip the shutter remotely by clickPan or radio control. This is the bit I got stuck on. With CHDK loaded on the camera ( I used David Mitchell’s excellent ‘Stick’ to do this) the setting for remote control is easy to find, select CHDK settings:


and an option for Remote Parameters is available:Menu1-2and the obvious ‘Enable remote’ setting is there…


I found ‘One push’ and ‘Normal’ to work fine. At this point it is tempting to plug in the cable and see what happens, I’ll tell you: nothing happens unless the cable is live. The shutter is triggered via the cable but the camera may not achieve AF/AE operation before the signal is passed. To get more responsive control a script is required.  The script in question is called REMOTE.BAS and it’s hidden:


Navigate to the ‘Exam’ directory…

Menu2-3and locate the remote.bas script. Select it and exit the CHDK script menu and the loaded script is confirmed ….

Menu2-4as the ‘Remote Button’ comment at the bottom of the script menu screen.

Operation of the USB shutter release. It’s worth remembering the live USB connection disables the camera controls.

The sequence is:

  • With the camera in the rig and the power off connect the cable.
  • Boot the camera (CHDK should announce is presence with the splash screen).
  • Open the lens out in shooting mode (usually by pressing the shutter button).
  • Put CHDK in ALT mode with the assigned button  (varies, may be print/video/review button).
  • Start the script by pressing the shutter button (the ‘started’ message should appear).
  • Power up the rig and the camera will shoot on signal to the USB from the controller (clickPan/ RC and my favourite clickPanPro).

Menu3-1Starting CHDKs ALT mode  prompts the script start-up screen. The script will start once the shutter button is pressed, confirmation appears briefly as a ‘started’ comment:

Menu3-2The advantage of the USB shutter release is that it can be synchronised with pan and tilt servo actuation and is less likely than an intervalometer to shift out of phase with automated rig movements.


David Mitchell adds from the KAP forum:

Bill – you’ve made a small mistake there. CHDK (and SDM) run in one of two states, normal and ‘Alt’. ‘Alt’ mode lets you adjust CHDK/SDM settings (such as the remote settings of a script to run) and run a script by clicking the shutter button. In normal mode, CHDK is still active (with whatever settings you set) and clicking the shutter will take a picture.

Now if the camera is Alt mode, it won’t do anything unless a script is running. So if you want to trigger the shutter in Alt mode via the USB port you have to run a script that checks the USB port for power and clicks the shutter if so. That’s the remote.bas script you mention. But, and it’s a very important but, if the camera is in normal mode then a pulse on the USB port will trigger the shutter – you don’t need to be running a script.

There is a good reason for doing it your way though – if a script is running it can not only click the shutter when there’s a USB pulse, but it can also adjust the ISO, focus, aperture and shutter speed to optimise the picture. That’s what the kap_uav.lua script writen by WaterWingz does. Although it can run as a simple AUtoKap script, you can also make it wait for a usb pulse before clicking the shutter.

Triggering the camera without the script might be useful. I shall investigate this as the S95 can be slow to react and miss shots under remote.bas even with a generous interval set on clickPan Pro.

About billboyheritagesurvey

Heritage worker
Gallery | This entry was posted in KAP and tagged , , , , . Bookmark the permalink.

3 Responses to USB shutter release under CHDK

  1. Walter Wing says:

    Dave Mitchell’s comments are exactly correct. You do not need to use a script to make this work so the part where you say ” I’ll tell you: nothing happens. ” is incorrect. As I wrote the USB remote code in CHDK, I think its fair for me to say that. More info on the CHDK USB remote capability can be found here :

    • More than fair! Thanks for the comment and I have fixed my mistake. It works but my cable didn’t. My first example was shipped with a break in it. Took me a while to figure that out.

      I put this together so as to have all the required steps to re-do this from wire to shot as I couldn’t find that in one place on the WWW so I’m glad to get your timely comment.

      I’ll be experimenting with your KAP_UAV.ula script in time but right now I’m impatient for results from the s95 and s100 cameras.

      I offer heartfelt thanks for your work on CHDK as it an can make my photography happen when nothing else could. It offers lightweight shutter control.

      Do please let me know if I have anything else awry here, whilst not a Luddite I’m keen to keep KAP as simple as possible!


      • Walter Wing says:

        Unfortunately, this blog does not let you edit/update posts after the fact. I went back after my original post hoping to add a “thumbs up” endorsement for your post here. It’s well written with some great screen shots (that also reminded me that we need to fix-up the ugly color palette used by the S90/S95). FWIW, I have an S100 and have used it during development of the kap_uav.lua script so it should work well there for you. I probably won’t check back here (often) but if you have questions or need help, the CHDK forum and IRC channel are there 24×7 and I’m usually there too.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.