duh… reducing the number of STEPS_PER_ROTATION certainly made a difference to the smoothness/accuracy, maybe thats all i needed
STEPS_PER_ROTATION is used in the simple examples as they only want to demonstrate a complete rotation. It is rarely used in production code. For a 3D printer example, steps per millimeter is used.
The 700us delays in stepNow() set the speed. Make the joystick value change one of these delays. Set the other to 1us or 10us. It does not need to be longer than that.