Icon for LinuxCNC

LinuxCNC

Open-source software system for computer control of mills, lathes, 3D printers, plasma cutters, and robot arms with up to 9 axes. Runs on Linux with real-time extensions for precise timing.

Screenshot of LinuxCNC website

LinuxCNC is the leading open-source CNC controller software, providing production-grade motion control for a wide range of machine tools. It transforms a standard PC running Linux into a powerful, flexible CNC controller capable of driving everything from hobby 3D printers to industrial 5-axis machining centers.

Core capabilities

Motion control

  • Real-time performance: Uses Linux PREEMPT_RT kernel for deterministic timing
  • Multi-axis support: Control up to 9 axes with synchronized motion
  • Advanced features: Rigid tapping, cutter radius/length compensation, lathe threading, constant surface speed, adaptive feedrate
  • Trajectory planning: Look-ahead motion planning for smooth, efficient toolpaths

Hardware interfaces

LinuxCNC supports an extensive range of hardware interfaces:

FPGA-based (Recommended for production)

  • Mesa Electronics (7i76, 7i77, 7i92, 7i93, 7C81, etc.)
  • PCI, PCIe, Ethernet, SPI, and parallel port interfaces

Fieldbus protocols

  • EtherCAT (via etherlab)
  • Modbus TCP/RTU
  • CAN bus

Legacy/Embedded

  • Parallel port (for simple setups)
  • Raspberry Pi and other ARM boards via SPI

Software architecture

  • HAL (Hardware Abstraction Layer): Modular component system for wiring together hardware and software
  • INI configuration: Text-based machine configuration
  • Python integration: Scripting and custom components in Python
  • ClassicLadder: Built-in PLC for sequential control

Use cases

  • CNC retrofit: Upgrade old machines with modern PC-based control
  • Custom machines: Build unique CNC machines with full software control
  • Educational: Learn CNC programming and machine control
  • Research: Develop new kinematics and control algorithms
  • Production: Run small to medium manufacturing operations

Getting started

LinuxCNC offers multiple installation paths:

  • Live ISO: Boot and run without installation
  • Debian/Ubuntu packages: Install on existing Linux systems
  • Build from source: For developers and custom configurations

Community & support

  • Active forum at forum.linuxcnc.org
  • IRC channel #linuxcnc on libera.chat
  • Extensive documentation and wiki
  • 25+ years of development history

Limitations

  • Requires Linux (Windows not natively supported)
  • Real-time kernel recommended for best performance
  • HAL (Hardware Abstraction Layer) configuration requires understanding signal routing and component wiring — not intuitive for PLC-trained electricians
  • USB not suitable for real-time motor control
Categories:

Share:

Kind
Software
Vendor
LinuxCNC Project
License
Open Source
Website
linuxcnc.org
Deployment TypeLanguageLicenseProtocol
Show all
Ad
Icon