Using Canon EOS DSLR cameras bulb mode in gphoto2

Taking pictures of the night sky almost always involves exposure times that are more than 30 seconds. This is often couple with taking many pictures for later stacking into better images.

For this, the camera has to be set to Bulb mode. You can automate taking multiple exposures by using an intervalometer, which is a remote release with a device with some electronic circuits and LCD screen to make all this possible.

You can also automate this using a Linux computer running gphoto2 software. The computer can be as small as a Raspberry Pi, or a laptop.

However, for the newer Canon EOS models, finding the setting that works is hard. The instructions that you find on the internet do not work. Even this gphoto2 documentation page on remote release has values that don't work.

What I did find to work with my Canon EOS T4i (650d) is the following:

1. Set the camera to Manual (M on the main dial).

2. Enter the following commands, typically from a script:

First set the main parameters. Note that we set the speed to 'bulb':

  gphoto2 \
    --set-config whitebalance=Daylight \
    --set-config imageformat=RAW \
    --set-config shutterspeed=bulb \
    --set-config iso=400

Then the main logic loop for taking pictures should be as follows. Note the values for 'eosremoterelease':

  # Number of frames to take

  # Exposure, in seconds

  for COUNT in `seq 1 $NUMBER`
    gphoto2 \
    --filename "%y%m%d-%H%M%S-$COUNT.CR2" \
    --wait-event=2s \
    --set-config eosremoterelease=5 \
    --wait-event=${EXPOSURE}s \
    --set-config eosremoterelease=11 \

The values I found on the internet, even on the gphoto2 web site, do not work. They are 'Immediate' and 'Off'.

The ones I did find to work on this particular model are 5 and 11. I only found them by trial and error. To find out what the values are for your camera, use:

gphoto2 --list-config eosremoterelease

Then you have to experiment with the values until you find one that triggers the shutter, and another that closes it. You also have to make sure that the doublet is repeatable. That is, if you take one pictures using the above, you can take subsequent pictures using the same values. If the camera does not respond to the same values, then change the second occurrence of 'eosremoterelease' in the above snippet to other values and re-test.

Clear skies ...