G-Code is the language used to describe how a machine will move to accomplish a given task, using numerical control (NC) --- it is the most widely used NC programming language. GRBL is the most frequently used implementation for the ShapeOko.
|Interpreter||GRBL||Grbl is a free, open source (GPL for v0.9, MIT/BSD for v08 and earlier) high performance CNC milling controller written in optimized C that will run on a straight Arduino.|
|Interpreter||Smoothieware||Smoothieware is a G-Code interpreter which is suited for general-purpose machines as well as 3D printing. It is notable among 3D printing firmware for supporting G2 and G3 arcs, so is an excellent choice for a multi-purpose machine.|
|Interpreter||Machinekit.io||Has ShapeOko support. Some reports of success.|
|Interpreter||https://github.com/Nikolay-Kha/PyCNC ||Python CNC machine controller for Raspberry Pi and other ARM Linux boards |
https://github.com/ithinuel/async-gcode --- A simple gcode parser written in rust
https://github.com/MarginallyClever/GcodeCNCDemo/tree/master/GcodeCNCDemo2Axis --- source code for a simple g-code interpreter. The interpreter reads the g-code commands line by line from the serial port, interprets them, and then executes them. To execute e.g. a move 10mm command in the X-axis, the interpreter steps the X axis motor the appropriate number of steps.
There are a number of firmware options for 3D printers, some of which are also suited for use in controlling a more general-purpose CNC machine: 3D Printing: G-Code Intpreters.
- Mach3/Mach4 --- http://www.cambam.co.uk/forum/index.php?topic=1279.0 --- use of numeric keypad as pendant
- Planet CNC
See also Netduino CNC.
- https://osstekz.github.io/cncBuddy/ --- cncBuddyCAM: Netduino+2 controller includes: CncBuddyUI: Windows G-Code parser/interpreting master control program.
https://groups.yahoo.com/neo/groups/CNCPro/info --- old DOS program recently opensourced
https://www.jedicut.com/en/ --- hot wire cutting controller capable of 4-axis movement