Grbl is a free, open source, high performance software for controlling the motion of machines that move, that make things, or that make things move, and will run on a straight Arduino. If the maker movement was an industry, Grbl would be the industry standard.
Grbl is ready for light duty production. We use it for all our milling, running it from our laptops using great user-written GUIs or with a simple console script (included) to stream the G-code. It is written in optimized C utilizing all the clever features of the Arduino's Atmega328p chips to achieve precise timing and asynchronous operation. It is able to maintain more than 30kHz step rate and delivers a clean, jitter free stream of control pulses.
Grbl is for three axis machines. No rotation axes (yet) – just X, Y, and Z.
The G-code interpreter implements a subset of the NIST rs274/ngc standard and is tested with the output of a number of CAM-tools with no issues. Linear, circular and helical motion are all fully supported.
limited G-code-support by design
No variables, no tool databases, no functions, no canned cycles, no arithmetic and no control structures. Just the basic machine operations and capabilities.