I have been imaging with an AT8RC telescope and I was still using the stock focuser. I would put a Bahtinov mask on the scope and use the fine focus knob to dial it in. Then I found out about some neat little stepper motors you can get for almost nothing on ebay. The motor comes with a simple controller board even - I got 5 of them for less than $20 online! The unit is known as a 28BYJ-48 and has an internal gearbox so it is around 480 steps/ revolution. The motor isn't very strong, however, so connecting it directly to the focuser shaft probably wouldn't work, and it wouldn't give me the precise control I wanted to focus. So instead my plan was to attach the motor to the 10:1 fine focus knob instead. This would give me the precision (more than I needed, as I found out) as well as a mechanical advantage for the motor to turn (and hold) the focuser shaft.
First step was to adapt the motor to the motor shaft. I was able to take a common MXL pulley (from DIY 3D printers - the stuff is everywhere and cheap) and adapt it to the motor shaft. I had some small MXL belts from another project - so the next step was to get a pulley on the focuser shaft. I removed the fine focus knob and found a small shaft. It was much smaller than the common 5mm bore of the pulleys you find for 3D printers. So I just 3D printed a MXL pulley for the shaft.
This accepts the MXL belt style.
Finally I needed a way to mount the motor to the focuser. I chose to 3d print a small mount that I would use double-sided tape to attach to the stock focuser. The motor and the 3D printed parts are very light so standard double-sided tape is more than strong enough.
Here is a mockup of the motor mount:
The idea is the motor would slide into the mount and using two bolts I could secure it so that the belt it pulled tight.
I used OpenSCAD to design the parts and Slic3r to covert to G-code. My 3D printer is based on a Reprap design using wooden blocks and threaded rod and works great for these types of projects. The results aren't always estetically pleasing but are dimenionally close enough that it gets the job done.
Here is a photo mounted on my scope:
You can see my rats nest of wires for the initial Arduino-based controller. I have since made a slightly better looking board that accepts a standard Robofocus DB9 style cable:
Many thanks to Olry for the inspiration and making his code available!
The motor only needs around 300ma at 5V. I've had no problems with it moving my imaging rig, which admittedly is not particularly heavy. The motor is not very fast but I've found it more than adequate for focusing with a Bahtinov mask. I did run some Vcurves in Focusmax 3 and they actually looked good and were repeatable. However in practice I find that if I put a Bahtinov mask on after using Focusmax to autofocus that I can still hand tweak it to be slightly better. So for now I just use a Bahtinov mask manually. I think it would be possible to get Focusmax to work better but I just don't see the reason to spend the time on it as I don't use automation when imaging.
The main improvement I see doing is to add some tension wheels to reduce the play in the belt. I see noticeable backlash when changing directions and I don't know if that is just in the cheap gearbox in the motor or if it could somehow be in the belt.
Overall it has been a great upgrade for the scope and the material cost was very low. The motor and Arduino clone I used cost me less than $10!