LinuxCNC

## LinuxCNC version @VERSION@ Documentation

@TRANSLATIONS@

Translations: Deutsch

@ENDTRANSLATIONS@ (more translations exist in the development branch, but may describe features not yet released)

LinuxCNC Home Page • Wiki • Forum • Source • G-Code Quick Reference

### Getting Started & Configuration

Getting Started with LinuxCNC

- About LinuxCNC
- System Requirements
- Getting LinuxCNC
- Running LinuxCNC
- Updating LinuxCNC
- Linux FAQ

General User Information

- User Foreword
- LinuxCNC User Introduction
- Important User Concepts
- Starting LinuxCNC
- CNC Machine Overview
- Lathe User Information
- Plasma CNC Primer

Configuration Wizards

- StepConf, Parallel Port Stepper Configurator
- PnCconf, Mesa Hardware Configurator

Configuration

- Integrator Concepts
- Latency Test
- Stepper Tuning
- INI Configuration
- Homing Configuration
- I/O Control V2
- Lathe Configuration
- Stepper Quick Start
- Stepper Configuration
- Stepper Diagnostics
- Filter Programs

HAL (Hardware Abstraction Layer)

- HAL Introduction
- HAL Basics
- HAL Twopass
- HAL Tutorial
- HAL Examples
- HAL Core Components
- HAL Component List
- HAL Component Descriptions
- HAL Component Generator
- HAL TCL Files
- HALUI, Hardware Abstract Layer User Interface
- HALUI Examples
- Creating Non-Realtime Python Components
- Canonical Device Interfaces
- HAL Tools

Hardware Drivers

- Parallel Port Driver
- AX5214H Driver
- General Mechatronics GM6-PCI Driver
- GS2 Driver
- Generic GPIO Driver using libgpiod
- Raspberry Pi GPIO Driver
- Mesa HostMot2 Driver
- Modbus to HAL Driver
- Modbus framework for Mesa cards
- Mitsubishi VFD Driver
- Motenc Driver
- Opto22 Driver
- Pico Drivers
- Pluto P Driver
- Powermax Modbus Driver
- Servo To Go Driver
- ShuttleXpress and ShuttlePRO Driver
- VFS11 Driver

Hardware Examples

- PCI Parallel Port Example
- Spindle Control Example
- MPG Example
- GS2 Example

ClassicLadder

- ClassicLadder is a software PLC (Programmable Logic Controller) built into LinuxCNC.
- ClassicLadder Introduction
- ClassicLadder Programming
- ClassicLadder Examples

Advanced Topics

- Kinematics
- DH Parameters
- 5-Axis-Kinematics
- Switchable Kinematics
- PID theory
- Remap: Extending LinuxCNC
- Moveoff Component
- Stand Alone Interpreter
- External Offsets
- Tool Database Interface

Integrator Information

- Stepper Information
- Stepper Drive Timing
- Best Wiring Practices

### Usage

User Interfaces

- AXIS, Keyboard GUI
- GMOCCAPY, Touchscreen GUI
- Touchy, Touchscreen GUI
- Gscreen, Customizable Touchscreen GUI
- QtDragon, Customizable Qt based GUI
- NGCGUI, Subroutine GUI
- TkLinuxCNC, (no opengl) GUI
- QtPlasmaC, A Complete Plasma Cutting Configuration
- MDRO, A Display for Digital Read Out scales

G-code Programming

- Coordinate System
- Tool Compensation
- Tool Table Editor
- G-code Overview
- G-codes
- M-codes
- O-codes
- Other Codes
- G-code Examples
- Image to G-code
- RS274/NGC Differences

### Customization & Development

Virtual Control Panels

- Python Virtual Control Panel (PyVCP)
- PyVCP Examples
- Glade Virtual Control Panel (GladeVCP)
- GladeVCP Libraries
- QtVCP
- QtVCP -VCP Panels
- QtVCP -widgets
- QtVCP -libraries
- QtVCP -Vismach
- QtVCP -Custom Widgets
- QtVCP -Code Snippets
- QtVCP -Development

User Interface Programming

- Panelui
- LinuxCNC Python Module
- HAL Python Module
- GStat Python Module
- Vismach Virtual Machines

Developer Information

- General Reference
- Code Notes
- NML Messages
- Style Guide
- Adding Configs for Selection
- Contributing to LinuxCNC
- Writing tests for LinuxCNC
- Building LinuxCNC

### General Information

Glossary, Copyright, History & Overview

- LinuxCNC Document Overview
- LinuxCNC History
- Glossary
- Copyright & Documentation License

### Man Pages

For more information about man pages see the Linux FAQ