I think HD spindle mototrs operate by pulse code modulation with a feedback loop to maintain RPM. I imagine Arduino could do it.