GRBL

GRBL is an open source 4-axis CNC controller that runs on Arduino compatibles microcontrollers. You command the machine to move by sending g-code over a USB based serial port. There are GUIs for GRBL that run on PC, Mac, and Linux. While GRBL may be the least user friendly of the CNC control options, it is well documented and has a large and growing user base and on-going active development.

While GRBL runs on Arduino compatible microcontrollers and can be programmed using the Arduino software platform, it makes use of every inch or real estate in the Atmega328s program memory space, including the space allocated to the Arduino bootloaders. This means that you need an Atmel programmer such as the Pololu 1300 in order to to install the firmware on the controller.