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
NUMBER=5
# Exposure, in seconds
EXPOSURE=60
for COUNT in `seq 1 $NUMBER`
do
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 \
--wait-event-and-download=5s
done
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 ...
Comments
Saber (not verified)
Hi Khalid,
Sun, 2021/03/21 - 16:44Hi Khalid,
Thanks for the great article. Your hints helped me to get my Canon EOS M100 working with gphoto2. In fact, this is the only way that enables a remote shutter release on M100 from computer.
Alex Coletti (not verified)
How to find functions and parameters
Tue, 2022/06/28 - 07:56Khalid, thank you for your post. In the case of my Canon EOS 5D-Mark III, I found helpful to run Jim Easterbrook's GUI in gphoto2-python (cam-conf-view-gui.py) and to find the available options from the drop-down menus. The command (gphoto2 --list-config eosremoterelease) somehow lists only the functions but not the options.
Paweł Jochym (not verified)
What actually worked for EOS 6D
Sat, 2024/08/10 - 04:40Thanks for sharing this. Your post put me, finally, on the right track to the working solution. At least working for EOS 6D. There are two parts. The strings seem to be language sensitive - so the numbers are a better solution. I did not figure out the correct ones for 6D yet - you can solve this with LANG=C. The important part was the event to wait for at the end. In my case, it turns out to be CAPTURECOMPLETE. The long exposition may take much longer than the exposition time! Sometimes over twice as long! The final working (for EOS 6D) example script looks like this:
The camera needs to be in the BULB mode for this to work.