Satellite Tracking With A Digital Camera

This is a status and hopefully I might get a suggestion or two from a discussion.

First I live near the Texas Gulf coast where the “seeing” normally ranges from terrible to worse than terrible. In the winter, right after a cold front goes through, the skies clear and we can see stars. I had been analyzing the results of tracking and decided that I’d like to try it myself - but would not invest much money for now. Years ago I used the US Air Force system to generate TLEs, track satellites, etc. So I understand how to do this.

So after MUCH reading web pages and trying things and getting frustrated and saying bad words…

I needed to get an accurate time for the opening of the shutter.

So I got a used Nikon D200 camera and a GPS unit (the GP-1) so that I could get an accurate time. I had already tried to get photos with my Sony camera so I knew the approximate settings and I had followed some hints and found and SAO Image DS 9 - gotten those installed. So I could get usable photos that would resolve in and that got me pretty close.

So now I use Gpredict to plan my evening and use Orbitrack on my phone to give me rise and set times - I set up the camera on my tripod and point it at a guide star that the satellite will go past. So I can reliably track satellites now! Wow.

One thing that contributed a LOT was participating in the training by Chris - I did not know that Astrometry could give me RA and Dec. I use that to get rough numbers and get the final number from SAO Image DS 9.

My current problem is trying to get the time of the shutter opening (right now I assume that GPS time is accurate in spite of latency, etc) accurate to the tenth of a second. I found EXIFTool (on a digital photo web site) and that gives me time accurate to a second. The camera gives time to the hundredth of a second but how do I get the camera to set time according to the GPS? I am trying to contact someone who knows how Nikon cameras handle time and am trying to contact the author of EXIFTool to ask if they know.

Comments? If this all works well I will upgrade to a better DSLR camera at least.


Update - the author of EXIFTool gave me an answer but I don’t understand it! We will work together to figure this out.

@CharlesHouston Page 92 of this D200 Manual describes how to enable the GPS.

As for verifying the timing the general convention for timing encoding appears to be with the opening of the shutter. I’ve been intending to try out this method of verifying timing against GPS satellite position timing - maybe we could both try it and share experiences!

1 Like

The GPS works fine but only gives time to the second - while the camera lists more accurate time. I hoped that the camera would set it’s time from GPS but that does not seem to be happening.

There is certainly some latency in the system, if I can find a way to read a tenth of a second accurately I will have to try to check it against another source to see if latency in various parts of the system could be something to worry about.

I wrote to the author of the tool that I am using to get the time of the shutter opening (EXIFTool) and hope to find out more from him.

Page 92 of my Nikon D200 manual (I don’t see a date or version) is about interval photos, it describes (in little detail) the GPS on page 96.

It sounds like a display issue vs a data recording issue. I suspect that the precise (to the millisecond) GPS time is making it to the EXIF header on the camera, but nothing in the Nikon firmware would display that - which is why you are needing to use EXIF tool. Imaging a GPS or other extremely-well tracked NAV sat should help identify if there is any other latency in your system.


Mike McCants reports that the cross track residuals are good but that the time (duh) is not as good. One observation was -0.9 sec and one was +6.4 seconds. I am still refining my techniques.

@CharlesHouston I’m delighted to see that we’re fellow travelers! I’m using my trusty Nikon D90 (with 35mm f/1.8 and a 70-200mm f/2.8) and have been struggling to find an efficient approach to shutter control. I’m so far fighting the urge to buy a contemporary DSLR, as I’m keen to find ways to press (relatively) inexpensive camera hardware into service for making satellite observations.

I’m going to try different software for controlling exposures from a laptop (and just bought a long USB cable for this purpose). As soon as the weather clears here in DC I’ll try out the INDI drivers. @interplanetary also recommended KStars, which I haven’t had a chance to try yet.

I’m hoping one or more of these pieces of software will override the camera’s timestamp, allowing me to set the time inside the program.


Brian -

Great to hear from you, maybe we can share notes. You are probably way ahead of this but did you see my “Tracking Satellites” page?

It is still a work in progress.

It seemed that even an older camera like the Nikon D200 had all of the pieces needed but they would need something to get them to work together. As always, things are far more complex than they “should” be. If the D200 has GPS and a clock with lots of digits - doesn’t it seem reasonable to make them work together? If it has GPS - why not design it so that it sets time from GPS???

I will look at those drivers, it should work if we just over ride the camera’s time. Those drivers have versions for the Mac so my MacBook Pro should work.

The weather here has been pretty good so I am trying to get out and get more photos almost every evening.

I will be in touch.


The solution that I converged on works well for high objects, but less so for objects in low Earth orbits.

It works by triggering the camera over USB through gphoto2, using software that will wait with sending the trigger command until the time of an NTP synchronized computer reaches a full second. The software will then download the image from the DSLR and convert it to FITS and adding the timestamp of the start of the trigger.

There will be a delay between sending the command and the shutter opening, as well as a deviation with the exposure time set on the camera and the actual exposure time. For my camera I calibrated this during the testing phase by recording timestamped audio where you could hear the shutter opening and closing, and comparing it to beeps made by the computer at every tick of a second. In my case there as a 0.264s delay between sending the command and the shutter opening, while a 10s exposure set on the camera actually lasted 10.06s.


Thanks @cbsat! I’ll check out gphoto2. I just installed Nikon’s Camera Control Pro 2 software, which will synchronize the timestamp with the computer clock, but does not go beyond seconds.

I think your audio calibration work around is clever, and I’ll see if I can replicate it.

I share @CharlesHouston’s sentiment that this should be simpler. Perhaps we can work with gphoto2 or another open source camera control software project to add in some functionality to remove some of the friction points for DSLR satellite tracking.


Hi @CharlesHouston, I hadn’t seen your site; thank you for sharing it! And, of course, thanks for putting the time into writing it. I think this will be a valuable resource for folks getting started (myself included).

It hadn’t occurred to me to rig a DSLR to a software-enabled telescope mount. I have been using Heavens Above to find when/where my satellite-of-interest will bisect two starts in a relatively easy to spot constellation, and then pointing my DSLR there. That’s proven to be much harder than it sounds (probably because I don’t yet have great facility with the night sky). And partly because very few, if any, stars are visible at prime satellite spotting time where I live. I’ve been using a smartphone app with an AR star map (like SkyView) to aim my DSLR at the right point in the sky (with mixed results).

1 Like