LinuxCNC is a machine-control system designed to drive a wide variety of computer-controlled machinery. It can handle conventional mills and lathes as well as plasma cutters, laser cutters, 3D printers, robot arms, hexapods and specialised machines.
Its architecture separates motion control, hardware interfacing and the user interface, making it suitable for everything from straightforward hobby machines to complex custom installations. LinuxCNC runs on Linux and can use real-time extensions where deterministic machine control is required.
This is free and open source software.
Key Features
- Accepts RS-274NGC G-code and translates it into coordinated machine motion.
- Controls up to nine axes or joints, including machines with non-trivial kinematics.
- Supports milling, turning, plasma cutting, laser cutting, additive manufacturing and robotic applications.
- Includes multiple graphical interfaces designed for different machines and workflows.
- Provides rigid tapping, cutter compensation, probing and other advanced machining capabilities.
- HAL (Hardware Abstraction Layer) lets users connect software components to machine hardware and create custom control configurations.
- Supports a broad range of parallel-port, Ethernet, PCI, PCIe and other machine-control hardware.
- Includes ladder-logic support for integrating machine controls and auxiliary equipment.
- Offers extensive configuration tools for machine setup, tuning and calibration.
- Can be extended with custom components, Python code, remapped G-code commands and user interfaces.
- Provides simulation configurations for learning, testing and developing machine setups without physical hardware.
- Documentation covers installation, configuration, G-code, HAL, interfaces and machine integration.
Website: github.com/LinuxCNC/linuxcnc
Support:
Developer: LinuxCNC Team
License: GNU General Public License v2.0

LinuxCNC is written in Python, C and C++. Learn Python with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials.
Related Software
| CNC Software | |
|---|---|
| Universal Gcode Sender | gcode platform used for interfacing with advanced CNC controllers |
| LinuxCNC | Drive milling machines, lathes, 3d printers, laser cutters, ... |
| CNCjs | Web-based interface for CNC milling controller |
| gSender | Connect to and control Grbl-based CNCs |
| OpenCamLib | Library providing computer aided manufacturing (CAM) algorithms |
| bCNC | Cross-platform Python application for CNC machines |
| Kiri:Moto | Browser-based Slicer for 3D printers, CNC mills, and Laser cutters |
| OpenBuilds CONTROL | Connect and control your CNC, Laser, Plasma or Dragknife machine |
| Luban | 3-in-1 software tailor-made for Snapmaker machines |
| Inkcut | Control 2D plotters, cutters, engravers and CNC machines |
| Rayforge | Laser cutters and engravers tool |
| MeerK40t | Laser cutting software |
| CAMotics | 3-axis CNC GCode simulator |
| Machinekit | Platform for machine control applications |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.