Free Tethered Shooting Script for Nikon

Update: This version is now obsolete,

download latest from here .

Update: The With Bridge version provides almost instant image viewing in Adobe Bridge without any keypresses.  If you use Bridge instead of Adobe Lightroom then download that version.  I’ve also made a video to show how to use this script.

If you’ve been keeping up with the blogs of various big photography bloggers out there you’ll certainly have been seeing quite a bit about tethered shooting recently. Not that it is a revolution or anything, but it certainly is a help to be able to see your images immediately on a big screen — and that doesn’t just go for those with failing eye-sight but basically the images you see on the LCD at the back of your camera are only the jpg preview, not the RAW (should you be shooting raw).

Even if you are shooting jpg just having to view them on such a tiny screen really makes it hard to tell if they are sharp or perhaps shaded as you are hoping. Sucking them right into your PC seems just so logical.

If you are a Canon shooter then no issue – the software comes with the camera (so I’m told).

If you are a Nikon shooter then it gets a little more difficult. If you are a Mac user you could use Aperture, but for Windows you seem to be stuck with Nikon Camera Control Pro. That’s a $160 or so software which does a lot more than just tethered shooting, but is probably overkill if like me you are a hobbiest just messing around.

So in true geeky DIY mode I thought it can’t be that hard to write a script that sucks pictures out of a USB connected camera and saves them onto the PC. And after a little poking around I find that actually it’s true, it isn’t that hard.

The thing that makes it practical is that most of what you need is built into Windows, another chunk comes as a standard optional microsoft download, such that the glue you need to pull it all together is just a few lines of code.

Part 1 is Windows Image Acquisition (WIA) – that’s built in

Part 2 is WIA Automation Layer

– a free download from Microsoft for Windows XP SP2 or higher

Part 3 is a script to tie it all together – which I present here

DOWNLOAD

This is now obsolete, use instead the free DIYPhotobits.com Camera Control 4.0

application.

Requirements:

  • Windows XP SP2 or higher
  • A Nikon DSLR (D40, D60, D200 and D300 tested ok)
  • USB cable

Installation:

Well nothing really, just unzip it and put it in a folder anywhere — I suggest c:\program files\tethered but anywhere would do.

Usage:

  1. Empty your camera card — that’s optional but a good start for reasons that will be apparent later
  2. Plug your camera in via USB — you should make sure USB in your menus is set to PTP
  3. If your PC pops up one of those windows wanting to download stuff, just cancle it
  4. Run “tethered.cmd” by double clicking on it
  5. Open your image viewer of choice – I use Bridge – and set it to look in the c:\tethered folder.  If you are using Lightroom then you’d want to set that to be a watched folder.
  6. You are now ready to start shooting.  Anything you shoot will turn into a file in a folder called c:\tethered within a second of you completing the exposure
  7. When you are done just close the Tethered window.

Notes:

  • All your images are also stored on your memory card so you have a backup without using a D3 and two cards
  • If you shoot more than 1000 images in one session it is liable to give an error as the filenames wrap around.  That’s why it is good to empty your memory card first so that you are starting at file number 000.
  • I’ve tested this with a Nikon D40 and it works fine, in theory it should work with any WIA compatible camera but the other Point and Shoot ones I have refuse to take pictures while the USB cable is connected so I can’t test them.  I’d be very pleased to hear from those of you who have tried it on other cameras and if it worked or not.
  • If you want the images stored somewhere other than c:\tethered then edit the .wsf file to change the location

166 Replies to “Free Tethered Shooting Script for Nikon”


  1. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Tony Arthur says:

    It works on the Nikon D300. I could shoot from the camera into Adobe LightRoom via the script. Thanks a lot for your post.


  2. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Thanks very much Tony for letting me know that. My main problem at the moment is finding a long enough USB cable! I bought a couple but neither work with the camera (though they are ok for other things).


  3. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Scott says:

    Just what I needed for my D40. Now I can tell if my shots are not sharp. Raymond, try a USB extension cord. That worked for me. I just wish I knew how to get Bridge to advance to the next photo automatically.


  4. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    HawlendRion says:

    Just tried it out and it works like a charm. Thanks so much. Using a Nikon D60.


  5. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Thanks Hawlend for confirming the D60 works. I suspect now it should work with any Nikon DSLR but more test reports are always good to confirm or deny that!

    Scott, I have tried an extention cable and my PC can’t recognise the camerea with me — I suspect I need a better quality cord.

    Having Bridge advance automatically sounds useful, I’ll think about how it could be done — perhaps the script can send a “down arrow” key to Bridge.


  6. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Gene says:

    I actually have toneUP which does allow this function. It’s nice for 15 bucks. But I’m glad to see others doing this. I just dont have the ambition (dont see myself suffering this much) to finish many projects anymore.

    gene


  7. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Chester Tan says:

    Hey thanks for sharing this great patch. It works superbly fast. The only thing I’d be missing is the ability to review via the camera’s LCD monitor, which seems to be disabled when connected to tether.


  8. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    @Gene; ToneUP is a whole other level and I’m not trying to go there, just doing the basics!

    @Chester; Glad it works for you as well. The LCD being disabled seems to be a camera limitation and not controllable. Of course the compensation is that you get to see your images on your PC screen which is so much larger. Try the latest /w Bridge version that means you get a whole screen view of your image within a couple of seconds of shooting it!

  9. Pingback:
    Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Best software for Shooting Tethered? - Page 2 - PhotoCamel - Your Friendly Photo Community

  10. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Gareth Preston says:

    You are a genius 🙂 Well done my friend!!


  11. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Thanks Gareth!


  12. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Willem says:

    I tried it with Vista but it did not work. I did not download the WIA automation layer since I this is for XP only and the wiki page states that it is already built in into Vista.

    So I only downloaded and ran the script.

    I see no images appearing in c:/tethered


  13. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Ok thanks for telling me, I thought it would work but without Vista to test myself I guess it is not surprising something didn’t work.

    Was there any error message?


  14. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Willem says:

    When I run the windows script file “tetheredloop” on Vista is does see the D70 allright. (when I switch the camera of an error message is displayed “no WIA device of the selected type is available”)

    But when I run the cmd file the DOS screen comes up and waits, then nothing happen, no error message on Vista, transfer just does not start.

    Also tested it on XP, works perfectly. As soon as I take a picture, the transfer starts.


  15. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Willem says:

    Further testing : added some display statement into your script. Script gets into the loop but each time the dev.Items.Count is zero. That is why transfer does not start. But why is it zero ? Any suggestions for further tests ?


  16. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Andy says:

    Works perfectly on my D60. Thanks so much for supporting a feature that Nikon wont!


  17. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Willem says:

    I found what the problem is : If I shoot in RAW format it does not count as a picture, if I shoot JPEG it does. Still wonder why it did work with XP. I am now studying the WIA automation info and will write some own scripts and share those later.


  18. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Good detective work Willem! That’s a strange difference between Vista and XP. Do you have installed in Vista the support for Windows to view raw files? That might “teach” Vista that RAW is an image as well.


  19. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Kristi says:

    Hi ,
    Well I am hoping someone can walk me through this..holding my hand if need be! I have Vista on my laptop, D60, USB Cable and all the neccessary dowloads. What is new to me is my Bridge program. So I have all the parts but I can’t seem to make it work. I think the problem lies in not knowing how to view it through bridge. I got as far as double clicking onthe tethered file.. then it goes south…. I am a newbie to some of this so please be patient! 🙂

    Thanks Kristi


  20. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    greg says:

    could you pleeeeease do this for mac, too?


  21. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Anthony says:

    Hey I first started to with Capture Pro 2 and it worked great until I found out the price..Yikes!

    I like your system better for the price. However, I find that after acquiring the image I get a window that ask me to Ok the Saving step to the Tetherred Folder. Is there a way to skip this step? I am running XP.


  22. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Tammy says:

    I have Vista and a D50. Assuming that this will work for a D50, if I choose to save NEF+fine jpeg, I should be able to see the jpegs with the tether script but not the NEF because I have Vista. However, the NEF should still be on my card….is that right?


  23. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Simon Le says:

    just found this.
    Thank you for being so clever and working this out.
    Have tethered my D70 and D300 and have 20+ images of my feet for no apparent reason other than for the sheer delight of seeing images transferred to the laptop.


  24. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    george alper says:

    awesome! screw capture! it works with d2x and d200 in xp sp2, right into millers lab! you fricking ROCK!!!!!


  25. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Appologies to everybody about the late replies, I was away during the summer and now that I’m back I’m still swamped. I’ll try to answer some of the queries though:

    @Kristi
    I don’t have Vista so guessing on this — Did you already open Bridge? Make sure it is viewing the correct folder first.

    @greg
    Don’t have a mac to work on, but I remember reading that similar scripting is possible (even easier) on a mac. Can’t remember were I read it though, I’ll post about it if I run across it again.

    @Anthony
    That’s strange, is it a WIA style dialogue? If so sounds as though you may have other imaging software loaded that is overriding the default behaviour. If you can show me the actual dialuge box it might help to shed some light.

    @Tammy
    Sounds right to me, but you’d have to test. Personally I’d not find that not so good — after all it is the NEF I want to see full screen to get maximum detail, not the jpg.

    @Simon Le
    Ahhh, feed. 🙂 Glad it works for you!

    @george alper
    Thanks so much!


  26. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Al says:

    whjat about mac users?


  27. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Leon says:

    All,

    I’m using Windows Vista Home Premium 64-bit SP1 on an HP laptop with a D200. I downloaded the WIA Automation Layer from Microsoft and your script and everything works great!! At the risk of being redundant

    ‘THANKS A MILLION RAYMOND”

    P.S. I’m using LR 2.0 and it takes about 5-6 seconds to get to the screen in LR after the shutter closes!


  28. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Leon says:

    All,

    I forgot to mention, I also tried it with my D200 on an HP desktop with Windows XP Media Center with SP3 and it also worked flawlessly!!

    Again–THANKS TO ALL

    Leon


  29. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    @al
    Sorry I can’t do that myself but I just posted a link to someone else who has a Mac equivalent script

    @Leon
    Thanks! Good to hear more working Vista results.


  30. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Leon says:

    Raymond,

    Is there a way to transfer the RAW file to the computer? I’ve only been able to get JPEG’s.

    Thanks!

    Leon


  31. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    @Leon,

    I can download RAW (.NEF) just fine under XP, but I have heard that this does not work in Vista. Willem (above) tried to resolve this but it seems without success so far.


  32. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Daniel says:

    This script rocks! Worked like a charm with my Nikon D50 on WinXP with LightRoom! Thanks!


  33. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Michael says:

    I installed the latest Nikon RAW Codec and the script still doesn’t capture NEF files under Windows Vista. I’m eagerly awaiting Willem’s test results.

    Otherwise, this is great. I believe, I should be able to make quick alterations to the JPG and then bring in the NEF’s later (manually) and Lightroom 1.4 should apply it to the NEF properly – haven’t tried it yet.


  34. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    andrew says:

    works on D2Hs too – many thanks


  35. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    @Daniel, glad it works for you!

    @Michael, I have to get hold of a Vista install somewhere to investigate the new WIA automation object model. I did some research and it seems they changed WIA quite a bit in Vista. I just can’t tell at this point if NEF support will be possible for me to do.

    @andrew, that’s great, glad it works for you.


  36. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Eugene Tea says:

    Thanks a lot. I just download it and tried it on my d300 and Vista. It works perfectly. I shoot it with RAW + Jpeg fine. It saved both on my computer and I can open and view it through Bridge. Thanks again, great work raymond


  37. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Kelly says:

    Do you have to have lightroom to view them? I just have photoshop cs2 can I get it to work in that? If so how??? Thanks!


  38. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    @Eugene, that’s Great! It proves it is possible on Vista to get RAW files. I wonder why it works in your case and not in others.

    @Kelly, no you don’t need lightroom. I don’t have lightroom either. You can view the images as they are downloaded with whatever tool you normally use — I used Adobe Bridge. See the video I posted two days ago for an example.


  39. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    priscila says:

    I own a d200 and i use Vista. I did all the downloads, unzipped…The images tranfer just won’t start.


  40. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    priscila, did you start the tethered.cmd script? Take a look at the video for a clearer example of how to start things.


  41. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    priscila says:

    I just watched the video again. Everything is done and runs smoothly up until the moment I shoot and there’s no prompt for any image….


  42. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    Oh dear. Is the black window running still or does it disappear when you shoot? Are you shooting raw or jpg? Some people have only been able to get jpg to work under vista. Try jpg, raw and raw+jpg to see if there is any difference.


  43. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    priscila says:

    the window is still running…wait! I just tried jpg and it worked!!!!! I tried raw again and nothing. Is that it ? I’ll just have to shoot in jpg or raw+jpg ?


  44. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    raymond says:

    priscila, I’m afraid this is something particular about Vista I haven’t worked out (I don’t have vista myself to try). But judging from what other people have said, yes, you’ll have to do jpg or raw+jpg with Vista. Hopefully we’ll get a better solution eventually but that’s where we are for now.


  45. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    spida says:

    Heya

    Thank you so much for this it works great.
    I have set this up on my Laptop which is running Vista and all I did was download the zip file and it worked.

    Also it works fine with just Raw from my D300.

    Thanks again.


  46. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    priscila says:

    Raymond, thank you very much for your help. You rock !


  47. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Charles. C says:

    Worked like a charm, ould definitely recommend this to others. Any chance this could develop into something bigger and more useful 🙂 ?


  48. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Charles. C says:

    Sorry I meant “could” and not “ould”.


  49. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Kev says:

    Wow! Thanks Ray!
    I thought this type of thing was only available to pro-photographers, I didn’t realise it was actually free to someone with a bit of skill like yourself, thanks for sharing!

    I can confirm the Bridge version works with a D40x and Picasa2.


  50. Notice: Only variables should be assigned by reference in /home/diyphoto/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Jim says:

    Almost plugnplay on XP-SP3 /D300-NEF combo. Just did a little edit on the wsf to redirect to whichever folder i choose to save and view from. Also got a usb extender to significantly increase distance between camera and laptop when required or maybe, a DIY bluetooth connection hmmm!? Thanks so much for the innovation Raymond.


Deprecated: Function get_currentuserinfo is deprecated since version 4.5.0! Use wp_get_current_user() instead. in /home/diyphoto/public_html/wp-includes/functions.php on line 6031

Leave a Reply

Your email address will not be published. Required fields are marked *