Before the rush

Before the rush
by evan-pak

Submit your Photo
Hall of Fame

Please participate in Meta
and help us grow.

Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to get the code (in any programming language) to give control over the features of a DSLR e.g shutter speed and exposure?

Canon and Nikon cameras come with a pre-included software that can allow to control the camera from the computer but I want the specific commands that I can send to the camera for it to vary its function and take pictures and send back to the computer.

I'm particularly interested in the Nikon D300, Sony Alpha 700, Olympus E300, Canon EOS 20D, 70D and Pentax K10D.

share|improve this question

migrated from Aug 8 '13 at 13:24

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

By "manually", do you mean "not manually at all, but by software"? – mattdm Aug 8 '13 at 13:28
I think you really mean programmatically by an external computer using software you write. What requirements do you have that are not met by things like Canon's free DPP? Check out David Hunt's Raspberry PI in a battery holder for his Canon DSLR: – Pat Farrell Aug 8 '13 at 13:45

I am aware of two potential solutions (there are certainly more):

  1. Nikon provides a free of charge SDK for tethering. I have never played with this, so I am not sure what it's capable of, but I imagine it should satisfy your needs to some extent. Download it here.

  2. The Camera Control software allows for setting aperture and shutter speed. If I'm not mistaken, it's based on Windows Image Acquisition, which you can use in your own (Windows) programs.

share|improve this answer

Canon also provide SDK. Only the following cameras are supported in 2.13 (July 11, 2013):

  • EOS-1D C / EOS 6D / EOS M
  • EOS-1D X / 1D Mark III / 1Ds Mark III / 1D Mark IV
  • EOS 40D / 50D / 5D Mark II / 5D Mark III / 7D / 60D / 60Da
  • EOS Rebel XSi / 450D
  • EOS Rebel XS / 1000D
  • EOS Rebel T1i / 500D
  • EOS Rebel T2i / 550D
  • EOS Rebel T3i / 600D
  • EOS Rebel T4i / 650D
  • EOS Rebel T3 / 1100D
  • EOS Rebel T5i / 700D, EOS Rebel SL1 / 100D (Newly supported models)
share|improve this answer

You can try CHDK (Canon Hack Development Kit). Simple DIY remote allows you to control your camera remotely.

It also allow you use uBASIC and Lua scripts to control camera without PC. Simply put script on storage card and run it from camera menu.

share|improve this answer
The CHDK works only with Canon's P&S cameras, not with any of their SLRs. – Philip Kendall Aug 15 '13 at 13:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.