I hope people are still interested in this topic. Otherwise this post is more for the sake of documentation if someone should find it at a later point in time.
I have build my own timelapse dolly and it works pretty good. It has its own tangible user interface, a numerical pad with 12 buttons (0,1,[..],9,# and *). Through that I can specify the most relevant factors (Speed, interval, distance to move, de/-acceleration for smoothness, cooling, and so on). The camera is triggered through a shutter-release cable. Everything is build around a ATMega328. You could also easily use an Arduino for that. The motor is controlled using 2 H-Bridges of my own design.
It has a traveling distance of exactly 1m. It is driven by a threaded rod connected directly (without any gearing) to a stepper motor. (200 steps, bipolar, ~10W).
The all in all I just spend ~15$, but many hours on design and work.
I have been using it for a year now, and have modified and tweaked it several times. All in all I'm really happy with it.
Now to a more interesting part.
As described
here and
here I have done several attempts to control the dolly through ML.
Something I want to highlight is this PTP lib for Arduino
here. With that, you should be able to hook up your camera directly to an Arduino without any extra work. What you need is an Arduino and a USB host shield. Both ~20$ each. If you want to save a bit money, have basic electronic stuff (resistors, voltage-regulators, ..) available and have a bit experience with electronics, you can use a MAX3421E and a ATmega to achieve the same result (both ~7$ each, depending on the AT you choose).
What I can tell you: 1m is about the lowest distance you might want to have. In most situations, everything under 1m is too little to either notice the camera traveling or achieving the effect you want.
In general are printers good resources for lots of good stuff. But some, especially newer printers, don't use stepper motors anymore. They often have a counter attached to a brushed DC motor in order to count the amount of rotations they turned.