I reckon the on board timmer will do the job, if it’s out a couple miliseconds here or there it shouldn’t ruin the shot.
The millis() function works quite well for what you need, in fact, if you’re going to be moving motors and such, you will have to use a millis() based timer to do shot interval timing. Given that you will most likely use delay()s in motor movements and it’s much more accurate to use delay() for the shutter open time, (tried lots of solutions, for bulb-mode shooting, delay is more accurate for shutter-open timing than looping and checking conditions and then checking millis() - the math to count the difference in millis readings alone can take several more ms than one imagines).
However, be warned about both delay and millis, presently this response in a post is going to have some effect on your design: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210889307/36#36
The millis/delay issues have had an impact on one in about 350 shots in my test setup. That is, sometimes delay won’t delay as long as I expected, or sometimes it will delay longer - not very bad for shooting in M-mode w/ camera-set timing, but using a bulb-mode for timings of less than a second or two can cause exposure fluctuations. Not a big deal, as this can be compensated for in post.
If you’re interested, I have fully rolled and working code to deal with 1 camera and 3 stepper motors (using easy driver, truck/dolly, pan, and tilt) I’d be happy to share with you. It’s part of a multi-controller setup, where all variables are set elsewhere (via i2c), so I’d remove most of that i2c code that wouldn’t make sense without the same UI (You can set variables by hand or some other means). It handles moving motors to preset amounts, skipping shot cycles when moving motors, stopping after x shots, manual motor control (single motor at a time), 49-days between shots (+/- millis errors and crystal accuracy =), and well, a bunch more stuff. Without the i2c code, it’s less than 500 lines with about 100 lines of comments. Oh, and it’s GPL grin (will release all the software later, as I work out system problems.)
If you like, I’d be happy to post it here, if for nothing else to help you get started.