Nicely done, I see lots of folks doing this now. Giving Stackshot some mild heart palpitations, perhaps
I made a controller a few years back, have been continually revising it. For what it's worth, I found motor controller boards to be more hassle than they were worth. I ended up using a plain old L293D. It can drive some pretty powerful steppers and the code is not difficult.
Bonus: it can also drive DC motors/gearmotors, servos, etc. Good for when you want your project to also work sliders, rotating stages, barn door equatorial mounts, and whatever else you might stick a camera and motor on.
You have focused much more on the hardware end of things here than I did, I left that up to the user to figure out the mechanics of it all. But perhaps you might find some inspiration in my project:
http://www.ryleeisitt.ca/articles/build ... ontroller/
My software is open source (although I've yet to add the license in there officially). If you use any of the code, all I ask is that you make note of the source in your code. Of particular interest to you may be the stepper motor function that includes the waveforms necessary for driving a stepper in full-step and half-step mode.
I am working on adding an IR transmitter for wirelessly triggering cameras. It's actually very easy... all you need is a sufficiently powerful IR led, a transistor, two resistors, and the protocol. Because you are pulsing the LED, you can drive them at high current - in the datasheet will be a graph of permissable current versus pulse time at different duty cycles. I am driving my LED at 700 mA which is suitable to trigger the camera even without direct line-of-sight (I have white walls/ceiling so the IR light bounces around a lot). For Canon cameras it's been extremely easy, because the protocol is literally just a burst at a certain frequency repeated twice, with a specific delay between the bursts. Unfortunately my lack of Nikon et al. equipment means it will be a bit harder for me to code and test the transmitter for other camera brands.
I use reed relays to trigger the camera shutter when I used it with a cable. This works extremely well. The relays are rated for several million actuations, I believe. So theoretically they may wear out in my life time... but soldering in some replacements if they do wear out would be very easy. They do a pretty good job of isolating the camera from potential voltage/current. However, I do think optocouplers are slightly better there. Technically I think a reed relay could arc if something bad were to happen (eg, if I accidentally dropped a live 120V cable on my open project box, I might fry my camera).