Basic Stepper Motor Controller can be built with Arduino board
I’ve implemented only 3 motor speed settings by dividing the input voltage to a number of ranges. The attached Arduino sketch constantly checks the input voltage and decides what direction the step motor should turn and how fast. If you want to achieve a more gradual transition in stepper rotation just increase the number of these ranges and assign a different rotation speed to each one by changing the delay between motor coils switching sequence. This prototype was tested on Arduino UNO