You might take a look at the Arduino based solutions.Fairly capable and also free,not to mention available for several platforms.That said,I chose LinuxCNC myself.