Automating the Canon A570IS

It is now possible to automate many of the Canon Powershot cameras using a "temporary" firmware. You place this firmware on your SD memory card in the root directory and then the camera can load it and utilize its many new or expanded capabilities. This firmware can be automatically loaded and you can specify a script to automatically run once the camera has started. (see bottom of page for details on how to obtain he firmware)

At EOSS we're interested in being able to automate the camera to 1.) get ready for flight and 2.) control the camera during the flight. I downloaded one simple intervalometer script and modified it adding commands to set every feature I could think of in the camera's menu systems to work to the advantage of an airborne camera. Basically the script will:

  • First execute a reset.

There’s a “reset to default” on one of the camera's menus. By clicking on that and a script writer can be sure of the state of all settings.

After reset the script enters the menu system and:

  • Turns digital zoom off
  • Turns off red eye
  • Turns off MF-Point Zoom
  • Turns off MF-Safety
  • Turns off AF-Assist Light
  • Turns off image review (necessary if set to take really fast sequential photos)
  • Sets image stabilization to shoot only
  • Then it uses the hardware buttons and:
  • Sets the aperture to wide open
  • Sets the camera to MF (manual focus) and adjusts the focus to infinity
  • Sets the JPEG compression to superfine (minimal)
  • Finishes the setup by turning the display off

Once the camera settings have been finalized the camera starts taking photos. In this incarnation of the script it takes photos every 10 seconds for 20 minutes then backs off to taking one photo every 30 seconds.


Video of script executing

This is Version 1.0 NOT 1.1 of the script executing.


Here is the uBasic code.

rem EOSS_Interval
rem version 1.2
rem For Canon A570IS
rem Camera must be in AV (aperture priority mode)

rem For EOSS flight 
rem Initially 1 photo every 10 seconds for 180 photos or 30 minutes
rem After 30 minutes switch to 1 photo every 30 seconds for 86 minutes
rem Roughly 15 minutes before landing back to 1 photo every 10 seconds for 400 photos


@title EOSS Intervals
@param a Shoot count
@default a 500
@param b Interval (Minutes)
@default b 0
@param c Interval (Seconds)
@default c 25

d=1000

rem reset camera
sleep d
click "menu"
sleep d
click "right"
sleep d
click "up"
sleep d
click "set"
sleep d
click "right"
sleep d
click "set"
sleep 3000

rem set menu values
sleep d
click "menu"
sleep d
click "down"
sleep d
click "down"
sleep d

rem digital zoom off
click "right"
sleep d
click "down"
sleep d
click "down"
sleep d

rem red-eye off
click "right"
sleep d
click "down"
sleep d

rem safety FE off
click "right"
sleep d
click "down"
sleep d

rem MF-Point Zoom off
click "right"
sleep d
click "down"
sleep d

rem Safety MF off
click "right"
sleep d
click "down"
sleep d

rem AF-Assist Beam off
click "right"
sleep d
click "down"
sleep d

rem Review off
click "left"
sleep d
click "down"
sleep d
click "down"
sleep d

rem IS Mode = shoot only
click "right"
sleep d
click "menu"
sleep d


rem set apeture to 2.5 by overkill
for n=1 to 5
	sleep d
	click "left"
next n

rem select manual focus
sleep d
click "down"
sleep d
click "down"
sleep d
click "down"

rem set focus to infinity
for n=1 to 7
	sleep d
	click "right"
next n

rem set jpeg compression to minimal or superfine
sleep d
click "set"
sleep d
click "up"
sleep d
click "up"
sleep d
click "left"
sleep d
click "set"

sleep d

t=b*60000+c*1000
if a<2 then let a=10
if t<1000 then let t=1000

print "Total time:", t*a/60000; "min", t*a%60000/1000; "sec"

sleep 3000

click "display"
click "display"

rem rapid shoot cycle while close to ground
shoot
for n=2 to 180
    sleep 5000
    shoot
next n
sleep 5000

rem 30 minutes of photos taken

rem slower shoot cycle after 30 minutes during ascent
shoot
for n=2 to 150
    sleep t
    shoot
next n
sleep 5000

rem additional 75 minutes for a total of 105 minutes of photos

rem rapid shoot cycle during descent and landing
shoot
for n=2 to 450
    sleep 5000
    shoot
next n

rem additional 75 minutes for a total of 180 minutes of photos

end

 


CHDK Firmware

You know, I've looked so I don't misidentify this but I can't find a single full text reference to what the abbreviation stands for. So, I'm dubbing it the "Canon Hardware Developer's Kit". What else could it be?

This is a group of folks who know their stuff and have programmed an alternate firmware for some of the Canon Digic II and III series cameras. You need to download the correct version for your camera. So far there have been no reports of bricking cameras. This firmware only loads off the card. It does not overwrite the firmware already installed on your camera. So, in a worst case scenario where your camera locks up, dump the batteries, reinstall them, remove the SD card and start the camera. You should be back to a factory condition.

Go to their Wiki pages. Read stuff, download stuff and write stuff and you'll be on the road to new and useful capabilities for your camera (assuming it's supported).

http://chdk.wikia.com/wiki/CHDK

Look down to "Basic Articles" and read them. By the time you have read down to Chinese versions of the Firmware you should be fairly expert at using CHDK.


Problems and Testing

On our first flight the camera failed when it reached an altitude of approximately 43,000 ft. ASL. After the flight I obtained the camera and did some testing.

First test case, I ran our script from that first flight twice with one set of Energizer L91s (use by 2022). That script takes 680 photos at 7.1 MP with minimum compression so that's a total of 1360 pictures. When I turned off the camera, removed the last batch of images, reinserted the card and then tried to start the camera the lens would only go halfway out and then the camera died. So, in normal room temperatures with new L91s I can easily get over a thousand pictures. I made time lapse movies. Nothing interesting happens but what the hey. YouTube mucks up the first few seconds of each video, not sure why. I didn't optimize them for YT, but those few seconds aren't worth the work of reprocessing the movies and re-uploading. FYI, The first movie has a scene change towards the beginning. I realized that the sun would be beating down on the camera probably causing lots of lens flare so I moved it back a bit to place it in the shadows.

 


First video, some horses move spritely in the neighbor's yard.

 


Second video (sunrise looking west you don’t see the sun just its effects)

 

Second test case, I replaced the batteries with a fresh pair (L91 use by 2022) and started the script up and placed the camera in the freezer at approximately -3 F. Again, the camera took the full 680 photos. This time it was a bit less informative as the freezer is kind of dark (totally) so who knows but ... I had forgotten exactly what time I had started this run and when I returned home I opened up the freezer door, brought the camera out and "SNAP" it took a photo. I quickly returned the camera to the freezer. Later when there was no doubt the script should have completed its run I opened up the freezer and removed the camera. I let it sit there for a little over a minute just to ensure that the script was not taking photos any longer and when no further snapping sounds were forthcoming, I shut down the camera, removed the card and found all 680 photos. The inadvertent opening of the freezer may have been slightly fortuitous in that upon examining all the photos I did find two pictures with exposed images. The first as I was placing the camera into the freezer and that one where I took it out slightly ahead of the end of the script. So ... the camera was apparently working just fine.

I made a time lapse movie of these stills too but really a single flash at the beginning and a single flash towards the end then unremittingly dark frames. Not worth the time uploading and fielding all the complaints from YT viewers.

I then reran the freezer test using the same batteries that were used for the first freezer test. In between tests I decided to change the script slightly to add more rapid capture towards the end of the flight in the hopes of getting a few photos of the final few hundred feet of descent. The new script takes 752 pictures. It ran to the end with the batteries that ran the initial 680 photo test. So that's a total of 1432 photos all taken below 0 deg. F.

I'm beginning to have a fair amount of faith in the camera. Over the past two days I've taken 2,792 pictures using two sets of L91s. The camera has not failed while running a script.

I'm thinking some strange anomaly not previously thought of must be the culprit for our failure on flight day. Everything is running so smoothly in the comfortable test environment that no errors are cropping up. Not really that surprising. Maybe a few cosmic rays got at the processor and it locked up. It did quit at 43K feet which is just below the max density for Cosmics "rays" and secondary partical radiation, I believe?

If I do discover anything strange in future flights and testing I'll post it here for everyone's perusal but as of now, I'm thinking this isn't going to be easily reproducible on the ground. We'll just have to fly again and see what happens.

 

maintained by Rick von Glahn
Terms of Service
Creative Commons License