It's been a while, but now I can report some important changes / improvements I've made to my macro rail.
1) I spent ~13$ to upgrade my motor driver (EasyDriver -> BigEasyDriver) and stepper motor (http://www.ebay.ca …3798ff:g:T-QAAOSwNuxXadzh). The increase in cost compared to the initial version is only ~5$. There was just enough of room inside my controller to fit the bigger driver, and also some small adjustments were needed on the rail side to accommodate the new motor.
2) As a result, my motor can now handle up to 1.4A per coil, which resulted in much higher torque. Before I could only use rail at angles up to 20 degrees (at larger angles the motor would start skipping steps), now I have no problems moving my 1kg DSLR vertically up.
3) Another consequence - my microsteps became twice smaller - only 1.25 um. Unfortunately I also had to reduce the maximum travel speed by the same factor, because my Arduino board is not fast enough to drive the stepper motor at the original speed and twice smaller steps. Now the maximum speed is 2.5 mm/s, which is reasonable.
4) I spent another ~20$ (identical motor + motor bracket + coupler + RJ45 socket) to build a motorized focuser for my telescope (6" Celestron Newtonian), and changed my Arduino code so it can now operate either the macro rail or the telescope focuser - using the same controller unit + power adapter + CAT5 cable. The controller autodetects which device it is connected to, and then adjusts the interface accordingly. The focuser doesn't control the camera, but most of the rail controller functionality is retained (rewind/fast forward with different accelerations, ability to store in permanent memory up to 10 focusing points, full backlash compensation etc.). I have designed a plastic enclosure for the focuser and sent it to a 3D printing service.



Let me know if anyone is interested in the newest version of the code, which is still beta and not publicly available.