Here's the second part which is about the electronics and final configuration of the DIY Precision S&S System.
I've done a lot of investigating into what to use for the computer and stepper motor controllers for the DIY Precision S&S System. I didn't want to use a PC as mentioned, but would consider using a Mac, or something that runs on a Mac.
The Arduino is the logical choice for this task if one is familiar with it and has a good software background, I fail on both accounts and thus chose the Raspberry Pi 3B. The Raspberry is an exceptionally complete computer with just about everything, way overkill but it only costs $35!!!
The Raspberry boots up with a proper OS, that has all the features required to do just about any task at hand already built-in, things like WiFi, Bluetooth, 4-USB, micro-SD card, HDMI, Ethernet, dedicated I/O and so on.
First off I got some various motor drivers from Adafruit, I tried everything they had. They all worked, this was acceptable for a simple robot or hobby toy, but not what I was looking for. Then I ordered some stepper motor drivers boards from eBay based upon various driver chips (later I discovered these are copies of Pololu boards). After I discovered Pololu and their special section on motor controllers, I ordered more motor driver boards only to find out that the Ti parts (DRV8825) have some issues with micro stepping. Then I ordered some other boards that were not based upon the Ti parts, these worked well but not quite as good as I was looking for. The Raspberry Pi can't really keep tabs (various reasons) of the precise motor location at higher speeds, and I wanted things to operate as fast as possible without giving up precision, since I was planning many massive S&S sessions.
I ordered the Pololu Tic-500 which is micro-controller based and uses the MPS6500 stepper motor driver chip. This proved to be what I was looking for!! I can interface to the Tic-500 with USB (Pi has 4), the controller keeps tabs of the precise motor location, and handles things like max speed, acceleration, motor current, motor voltage and so on. The steppers can run very fast to reduce time, but are exactingly precise without missing steps nor position errors. The acceleration and deceleration methods allow excellent motor control from start and stop positions without imposing sluggish movements or severe speed limitations. It just works, and works very well indeed!!!
Now that the motor controller was selected, I needed to create an few cables and get to using the Raspberry to trigger the camera and strobe. Since I will be using EFCS & ESCS (no mechanical shutter curtains) I wanted to include the strobe delay effect to position the firing of the strobe near the end of the exposure when EFCS & ESCS is used. Nikon blocks the hot shoe trigger in this mode, as do other cameras. I used a simple optical coupler based design and also included and LED so you can see when the camera is triggered (Green) and then when the strobe is triggered (Red). Here's the notes from my notebook and the actual circuit built up on a prototyping board. The dual connectors allow the use of 3.5 or 2.5mm connectors without adapters. The extra space on the board is for a future 12V to 5V converter to allow everything to operate from a single 12V supply, now the system requires 5 & 12 volts. The 6 pin connector interfaces with the Raspberry Pi GPIO connector, and the 3 2 pin connectors are for suppling 12 volts to the 3 Tic-500 controllers.


Here's an image of the Raspberry Pi 3B, interface board, and 3 Tic-500 controllers. Red marked is for the Z axis, Blue the X axis and Yellow the Y axis, also the cables that are required.



This is all it takes to run the DIY Precision S&S System since the Raspberry has built-in WiFi which allows direct VNC use and the setup can be operated anywhere on the wireless WiFi router range from another computer. I'm amazed at how well this works, it's not just a window, but the entire Raspberry screen is available remotely....just like you have a keyboard, monitor and mouse plugged in to the Raspberry!! You can operate the entire computer remotely as well, including shutting it down! It's like having a full Raspberry Pi 3B inside a Mac window, but the Raspberry is completely remote.....very cool indeed!!!





The software is written in Python and a few thousand lines of code. It's designed to allow reruns with minimal effort and keystrokes, and supports user file names to store and recall stacking parameters. Operation is from a Python shell and requires a couple "sudo" commands to load up things before the program begins for first time execution.
Rail zero, start, end and step size are input, positioned (actual rail check out) and stored for Y and X axis. The Z axis zero is stored, however the start, end and step size are separate parameters for each Y and X position if desired, and the Y and X rails travel to each position to allow the Z parameters to be established. This allows fine tuning the Z axis focus stepping and not taking extra images of out of focus areas, especially when tilted subjects are used. I've included a black/dark image (no strobe) to identify each Z axis stacking session, which should help when doing the post collection stacking (I use Zerene for this). This is an evolving effort, so additions, updates and error corrections are expected.
I'll be adding details on the Thor Labs based setup soon, probably in another thread so as not to clog this one up.
In the interest of keeping this thread from becoming a boring "assembly manual" and supporting those with a keen interest in these DIY efforts, please use PM for any information which might involve long drawn out answers.
I really hope this helps folks that are tempted to tackle a project like this, you can do it!!
Remember I have no real prior experience with programming and with the Raspberry Pi computer, my computer experience is somewhat limited to using the Macs

Best,