LinuxCNC
LinuxCNC is a free, open-source software suite for controlling computer numerical control (CNC) machines such as mills, lathes, routers, and plasma cutters. It provides a real-time control environment that interprets G-code and drives machine motors and actuators through a hardware abstraction layer. LinuxCNC runs primarily on Linux and historically requires a real-time kernel to achieve precise motion timing.
The project originated as EMC2, the Enhanced Machine Controller 2, and later was renamed LinuxCNC. It is
LinuxCNC interfaces with hardware through HAL, which allows software to interact with various motion controllers, I/O
Users interact with LinuxCNC through graphical front ends such as Axis and other user interfaces, as well
Applications include hobbyist CNC mills, commercial machine tools, educational labs, and research projects. The software emphasizes