In theory if you have a micro-controller with D to A which gives the required resolution you could write a fairly simple program to vary the Analogue output based on step and direction inputs.