A few bits and pieces about photography header image 2 Camera Control 4.1 – Dog Food

October 2nd, 2009 · 50 Comments

Changes in 4.1 – the “Eat your own dog food” release of Camera Control.


– allow fractional bracketing by changing Cint to Cdbl

– don’t crash on line 157 if there is nothing to download

– removed the “download immediately” function and changed things so that the normal tether does this function
– fixed the bug where push external viewer doesn’t work unless you explicitly choose the output folder

Download it here.

Tags: Download · Software       

50 responses so far ↓

  • 1 Steve // Oct 5, 2009 at 10:25 pm

    I can’t get this program to do anything. I have followed the instructions, but when I click the executable I get a HTML GUI, which isn’t explained anywhere. I have set the watched folder in LR2 but nothing shows up unless I push import. What do I need to do to get the program to pull the files out of my card and push them to LR.


  • 2 raymond // Oct 9, 2009 at 7:23 am

    Steve, this isn’t a program or an executable; it’s a script that runs within an HTML file and downloads images to your PC as they are shot. It won’t “pull files out of” your card, it’ll only download images *as you take them*. Then it’s up to you to use your choice of viewer — I use Adobe Bridge and that works fine; I’m told LR works also but don’t have personal experience. I hope that clarifies things for you.

  • 3 Jangla // Oct 14, 2009 at 5:59 pm

    Just downloaded this impressive looking script but have run into a problem already.

    I’ve got a Nikon D100. Set it to PTP mode in the menu, connected to PC and ran the script.

    All seems fine….except the camera just shows “PC” in the top display and the shutter release button doesn’t take a shot. Likewise, trying to take a shot from within the software does nothing.

    Any ideas?

  • 4 raymond // Oct 15, 2009 at 2:36 am

    To be honest I don’t know if it would work on a D100, nobody else seems to have tried it. From what I understand the D100 with an older firmware is not fully ptp/wia compatible. I do NOT know this for sure though.

    Does Windows see your camera ok in Explorer? if so then the script should work, but if not, then no hope I’m afraid.

  • 5 Carl // Oct 17, 2009 at 10:53 pm

    Can I expect this to work with a D300 and Vista 64-bit?
    I had it working fine on an XP laptop but have since sold it.


  • 6 raymond // Oct 19, 2009 at 12:01 am

    It will work worse on Vista by all accounts; but if it is still usable will depend on what features you use. Afraid you’ll have to try and see really as I don’t have personal experience with Vista.

  • 7 Time Lapse Photography Software // Oct 19, 2009 at 6:55 pm

    […] you shoot Nikon try diyphotobits-com-camera-control-4-1 __________________ "A wise man speaks because he has something to say, a fool speaks […]

  • 8 Walt D. // Oct 23, 2009 at 1:37 am

    This script is great, but I’ve got a question. Is it possible for a preview of the picture to be viewable on the rear LCD of the camera after each shot while tethering? I have a D80, and the image is no longer displayed on the camera while tethering; I want to be able to tether and still have the redundant preview on the camera itself.

  • 9 Serge O. // Oct 25, 2009 at 5:03 am

    Just love it. I must find a longer USB cord now… Shooting RAW is a huge plus over the JPG limitation of Eye-Fi. Keep up the great code!

  • 10 raymond // Oct 27, 2009 at 1:50 am

    Walt, sadly I think that’s impossible. Or at least I have no clue how I could make that work. The camera seems to shut off the LCD as soon as anything is plugged in, even if you are using a video cable to display on a TV!

  • 11 Walt D. // Oct 27, 2009 at 4:44 pm

    I was starting to think it was a behavior of the camera that couldn’t be changed. Thanks for confirming, at least I won’t be bothered by not knowing.

  • 12 Dwight P. // Nov 8, 2009 at 3:37 am

    First, Thank you Raymond! What a great program you’ve created.
    I’m running CC4.1 on a Lenovo SL500 with Vista Business operating system, and Lightroom V2.5
    My Nikon D200 connects and works perfectly in JPEG mode or RAW+JPEG modes.
    However, I can’t get it to work in RAW only mode. Perhaps it is a problem with my workflow or setup.
    How I setup:
    1. Connect USB cord to laptop and camera, then power on camera.
    2. Create a folder on the desktop for temporary storage of images.
    3. Open Lightroom and create a new catalog with the Auto Import set to Auto Import from the folder I created on the desktop.
    4. Open CC4.1 which recognizes the D200. Select RAW in CC4.1 and RAW on the D200.
    5. Start tether and make images. Shutter function works with the CC4.1 release button or camera shutter release. No image shows in CC4.1 or Lightroom.
    If I set the camera to either JPEG or RAW+JPEG then images are captured and feed to Lightroom and displayed as JPEG files.
    Imports JPEGS with no problem, but no RAW files.
    I’m hoping the problem is with my setup and any help from you or anyone that has traveled this road would be appreciated.
    Thanks again!

  • 13 Brent V. // Nov 11, 2009 at 12:16 am

    Here is a video that I shot with my iPhone with Camera control 4.1 working great with Adobe Lightroom 2 and printing with a Kodak 6800 Photo Printer.

    Very impressed and works great!

  • 14 Dave // Nov 14, 2009 at 12:21 am

    It worked great in Vista SP1 on a Toshiba laptop, used Control 4.0, using Picasa. Thanks great job !!

  • 15 Joey // Nov 14, 2009 at 4:54 pm

    I don’t know what I’m doing wrong. I was looking for a way to tether my computer and found this on I just downloaded it and am trying to make it work with my Nikon D3. When I select the camera I get a warning stating “This device may not support shutter release from the computer, use camera shutter if onscreen shutter button does not work”. I can’t get either one to work. My camera is in PC mode which kills al of the button features. Does someone out there know what I’m doing wrong?

  • 16 Joey // Nov 14, 2009 at 5:25 pm

    Ok, I just figured out what I was doing wrong. I just changed my USB setting in my camera to PTP and can release the shutter.

  • 17 Joey // Nov 14, 2009 at 5:43 pm

    Now that everything is up and working for me, I just realized that none of my programs have an auto-import feature. I use Nikon Transfer, ViewNX, and CaptureNX. I also have Photoshop elements. None of these have an auto-import feature as far as I can tell. Any reasonably priced solutions out there?

  • 18 raymond // Nov 18, 2009 at 7:56 am

    Joey, maybe you need to find another viewer app – I’m sorry I have no direct recommendation to give as I use Adobe Bridge.

  • 19 Sharky // Nov 27, 2009 at 7:26 pm

    Hi raymond, using CC4.1 with my D50 and it’s light and shadow.

    The good bits: It’s free, it works, and it gives that pro-feel, to configure your camera remotely and have pictures come up on screen automagically. 🙂

    The not so good:
    – Preview size doesn’t do anything for me
    – I have my camera set to shoot Raw+Jpg. When I use tether, it downloads both pictures, but says “no preview for raw”, this could be improved easily I guess.
    – When I use the shutter release, currently with “JPG” it downloads the Raw, and with “Raw” it downloads the Jpg. Yesterday “Raw” didn’t download anything and “JPG” downloaded the Jpg. Can’t make sense of it yet.
    – My lens at 18mm goes from aperture 3.5 – 22, at 55mm from 5.6 – 36. CC doesn’t know I change the focus and shows the wrong values in the dropdown. Selecting an unavailable one results in a runtime error in Line 290 error 8004201c. I don’t know if it would make sense to refresh the values continuously or catch the error, refresh then and show a hint if/that the selected value isn’t available.
    – The external viewer can’t be configured. How about a textbox for a command line to execture after each picture, with a placeholder for the file?

    I think that’s it for now. It’s meant to be constructive criticism, the good kind of criticism I heard 🙂

    Cheers, and thanks for you work!

  • 20 Carlo // Nov 28, 2009 at 8:03 pm

    I just tried it, and its great! I hooked it up with my nikon D80 to do an animated film. only thing is, I can’t get the preview?! anyone know how I can fix it to get the preview??

  • 21 Mike // Dec 19, 2009 at 1:50 pm

    First, thank you for bringing this to us.
    My question is the RAW mode as well. I see it has been asked a couple times but haven’t seen the definitive answer. Is it possible to view pictures while shooting in RAW mode only. I shoot in RAW mode and rarely shoot JPG anymore. Basically looking for a preview in RAW as well as a bigger preview. Regardless, it’s still a fun program and maeks us all feel light years ahead of everybody else around us, haha. Nothing better than controlling your camera from a laptop to boost your ego. 🙂

  • 22 Mike // Dec 19, 2009 at 2:13 pm

    My apologies, I just viewed your videos and they answered my questions. (ie: view raw in another program while shooting…Bridge or LR)
    Thanks again for all your hard work.

  • 23 Russ // Dec 22, 2009 at 6:52 pm

    Where did you get the data that you populate into the ShutterTable and WBTable dictionaries? Does nikon publish that, or did you develop a process to probe the camera for valid values?

    What about the long ugly GUID-lookin’ strings, like dev.Properties(“Format”) on line 593?

    I want to try to adapt your script to my Sony…it connected, but they don’t speak the same language (yet!!)

    Thanks for a great program!

  • 24 raymond // Dec 24, 2009 at 1:45 am


    The dictionary table values come from looking at the WIA structure where it shows acceptable values for the sub key. What they mean is a matter of educated guessing and trial and error. I used Excel and VBA to work this out as it has a better IDE and lets me do “watch” and look at objects in real time.

    The GUID strings you get from the MS documentation on WIA Automation on MSDN.

    Good luck with the Sony!

  • 25 Daniel // Dec 26, 2009 at 4:53 pm

    How can i save timelapse photos to my PC with a D40. It just saves them on my memorycard which gets full after 900 pics (2GB).

  • 26 Greg Bahlhorn // Dec 30, 2009 at 7:09 pm

    I can’t seem to get the script to run. Im using a system with Vista 64. Please help!

  • 27 Greg Bahlhorn // Dec 30, 2009 at 8:16 pm

    OK a little more info… the scrips just shows up in notepad. I had some dev/programming programs installed on this system, perhaps that’s why this is showing up?

  • 28 raymond // Dec 31, 2009 at 2:59 pm

    Greg, the hta should be associated with mshta.exe, not with notepad, as follows:
    ProgramID: htafile
    EXEFile: ......\System32\mshta.exe %1 %*

  • 29 raymond // Dec 31, 2009 at 3:00 pm

    Daniel, the script doesn’t support that. In theory I could implement it but I’m afraid of having my script delete things from the card so would rather avoid it.

  • 30 Richard S // Dec 31, 2009 at 3:46 pm

    Great program! Many thanks. I use it together with my Nikon D80 (shooting in RAW), Asus laptop running with Vista Home Premium and viewing in Lightroom 2.6.

  • 31 Sean // Jan 6, 2010 at 8:03 pm


    Is works fine with my D50 but it looks like battery life is reduced because of it being tethered and the meter seems to be on all the time. I am doing long timelapse shots. Is there any way to make the camera go into standby mode between shots to conserve battery life.

    D50 is rated at about 2000 shots on single charge but I get less than 400 (20 sec interval) when connected to laptop with no autofocus and manual mode. Battery dies in only a few hours.


  • 32 raymond // Jan 8, 2010 at 1:51 pm

    This is typical with tethering, I have heard that there is the same issue with the Nikon software. The actual USB connection draws a lot of juice apparently. In fact this is one way to deep-discharge your battery; just leave it plugged into usb!

    Only real solution is an AC power supply.

  • 33 Sean // Jan 8, 2010 at 10:43 pm

    Ok, thanks for the clarification.
    Do you know if there is any cheaper
    alternative to the Nikon branded AC power supply?
    I think $90 for an adapter is too much.

  • 34 Dustin // Jan 9, 2010 at 8:19 am

    Just wanted to say THANKS!

    This works OK for my D3000, a few bugs but considering that Nikon doesn’t even support this camera on there Camera control pro 2(And say it cant be done), You rock in my books!

  • 35 Greg Bahlhorn // Jan 9, 2010 at 7:59 pm

    Thank you Raymond,

    I got file to load buy changing the association to mshta.exe but it isnt finding my D40X. Do I need to make some changes to my registration? I tried searching for mshta buy using regedit and I found many refrences. Just not sure I ever found the right one. Any more help would be great. FYI I have Vista 64 and its always been a little quirky.

    ProgramID: htafile
    EXEFile: ……\System32\mshta.exe %1 %*

    Thank you,
    Greg Bahlhorn

  • 36 Greg Bahlhorn // Jan 9, 2010 at 8:00 pm

    Also I still have the demo of the nikon software installed, perhaps that’s the problem with finding the camera?

  • 37 raymond // Jan 10, 2010 at 12:19 am

    Greg, the demo of the Nikon software should not be a problem. And if you are getting my script to run then basically that’s it I’m not sure what else would be needed. Is WIA functioning? e.g. can you see the camera from Windows Explorer?

  • 38 raymond // Jan 10, 2010 at 12:21 am

    @Dustin, it’s strange the way they don’t support a few “low end” models. D70 is in the same category, there is no SDK for them. But they can do PTP fine so at least this basic tethering functions I have implemented are possibe.

    @Sean, I’m afraid electrical power is the point at which I’m unwilling to DIY! I know my limitations! I would suppose that a search on Ebay would turn up some alternatives but as with everything there buyer-beware!

  • 39 Dustin // Jan 10, 2010 at 1:02 am

    @raymond, I find it funny that ccp2 supports D60 D40 D40x but not the newer D3000..I am sure it can work, But Marketing said no…This way more D5000 will sell.

  • 40 Greg Bahlhorn // Jan 10, 2010 at 3:47 am

    Raymond, Yes I can see the camera but the script does nothing when I try to select the camera. What should I set the USB to on the camera?

  • 41 Star Trails « Thrillmere // Jan 15, 2010 at 5:55 am

    […] going on. Then we decided to go back to the other side of the fence! To take the 200 shots, I used Camera Control 4.1 which has a handy time lapse feature. I set it to ISO 400, 15 second exposure, f/3.5 and set to 200 […]

  • 42 Allard // Jan 18, 2010 at 7:25 pm

    I was testing the program with my D3000 and noticed that I can’t change the mode setting. So after some more testing I found out that the camera doesn’t sync the“Exposure Mode”).value, back to the pc.

    Ive added an extra test which actually tries to change the value in the camera (its on r484) Ive also changed what Exposure Mode would dislpay (r322)

    I also changed the preview size code and added ‘None’, so that it now works. ‘None’ could be usefull when using lightroom to show the photo’s. (r946 & r829)

    Here is the link to the code:
    Im a coding newb so this was a nice training ;P.

  • 43 Rick // Jan 18, 2010 at 10:31 pm

    First thanks for the program.

    I downloaded CC4.1 and installed it. Then I setup Lightroom 2.3 to auto import. I set my D70’s USB to PTP and plugged it in. All appeared to be working fine, I could control the camera settings with CC4.1 even the shutter release worked. However I got not pictures on the PC. When disconnected the camera from the computer the pictures were on the memory card. Next I tried my D200. All the CC4.1 and Lightroom setting were the same and everything work fine. My pictures were tethered through CC4.1 and auto imported into Lightroom. Any thoughts in why the D70 didn’t work?

  • 44 raymond // Jan 20, 2010 at 9:29 am

    Allard, I’m please that you found this interesting and glad you made it work for yourself. However I would appreciate if you did not upload modified versions of my Copyright code to other websites. Thanks.

  • 45 Warit // Jan 30, 2010 at 11:04 am

    This is a great program. Thanks a lot for your development. I wonder if you can add the bulb timer control option. Some time it’s nice to have an exposure longer than 30 seconds.

  • 46 Jeff // Feb 1, 2010 at 2:21 am

    Raymond, I love your camera control script. I am trying to use it for a DIY photobooth for my wedding using a Nikon D3000. I was able to get it to shoot remotely and display big previews using Windows Explorer in “filmstrip” mode. The one thing I need to finish the job is some way to introduce a delay in your script between when you push the shutter release button and when it fires the camera. Don’t suppose you know of an easy piece of script I could put in there to accomplish that? Setting the camera to 5 second delay does not accomplish this… Oddly, the 2 second remote delay option works, but this is not quite long enough for how I plan to set things up. Thanks in advance, great little script.

  • 47 raymond // Feb 1, 2010 at 1:39 pm

    Jeff, I would try the time-lapse option in the script, set to take one shot. It lets you specify an initial delay in seconds.

  • 48 Jeff // Feb 23, 2010 at 5:41 pm

    Raymond, your idea worked great.

    The last piece of the puzzle is that I think drunk people will have a hard time navigating the mouse and clicking the correct button in the script. Are there any “hot keys” in your script? i.e. hit T for timelapse or S for shutter release? I was considering covering up the keyboard on the laptop with a piece of wood or cardboard, only allowing the guests to hit one button to take a picture. I’ve considered using an old style mouse with a track ball, positioning the mouse in the correct place, and removing the ball… but the keyboard option would be easier.

  • 49 raymond // Feb 24, 2010 at 4:49 am

    If the correct button has the focus then either the enter key or the space bar should depress it I think.

  • 50 Moroccan Pillow // May 4, 2017 at 2:19 am

    Very Informative post you gave to us, really helpful I would like to share something really helpful for Online Shopping:

Leave a Comment