I have been writing Arduino software to drive a stepper motor. I am planning to grow this into a complete control program for the laser cutter I've been building. Today I got some interesting things working, and I made some videos and uploaded them to Youtube.
The first video shows a repeating sequence of three moves, each a different distance.
The second video shows a sequence of increasingly long movements, up to 30 cm (1 foot).
The third is my favorite. In this one, the control software randomly varies the direction, distance, maximum velocity, and acceleration rate of each stroke.
I wrote a little bit explaining how the motor control works over here.