1. The Software

  • LinuxCNC (the Enhanced Machine Control) is a software system for computer control of machine tools such as milling machines and lathes, robots such as puma and scara and other computer controlled machines up to 9 axes.

  • LinuxCNC is free software with open source code. Current versions of LinuxCNC are entirely licensed under the GNU General Public License and Lesser GNU General Public License (GPL and LGPL)

  • LinuxCNC provides:

    • a graphical user interface (actually several interfaces to choose from)

    • an interpreter for G-code (the RS-274 machine tool programming language)

    • a realtime motion planning system with look-ahead

    • operation of low-level machine electronics such as sensors and motor drives

    • an easy to use breadboard layer for quickly creating a unique configuration for your machine

    • a software PLC programmable with ladder diagrams

    • easy installation with a Live-CD

  • It does not provide drawing (CAD - Computer Aided Design) or G-code generation from the drawing (CAM - Computer Automated Manufacturing) functions.

  • It can simultaneously move up to 9 axes and supports a variety of interfaces.

  • The control can operate true servos (analog or PWM) with the feedback loop closed by the LinuxCNC software at the computer, or open loop with step-servos or stepper motors.

  • Motion control features include: cutter radius and length compensation, path deviation limited to a specified tolerance, lathe threading, synchronized axis motion, adaptive feedrate, operator feed override, and constant velocity control.

  • Support for non-Cartesian motion systems is provided via custom kinematics modules. Available architectures include hexapods (Stewart platforms and similar concepts) and systems with rotary joints to provide motion such as PUMA or SCARA robots.

  • LinuxCNC runs on Linux using real time extensions.

2. The Operating System

Ubuntu has been chosen because it fits perfectly into the Open Source views of LinuxCNC:

  • Ubuntu will always be free of charge, and there is no extra fee for the enterprise edition, we make our very best work available to everyone on the same Free terms.

  • LinuxCNC is paired with the LTS versions of Ubuntu which provide support and security fixes from the Ubuntu team for 3 - 5 years.

  • Ubuntu uses the very best in translations and accessibility infrastructure that the Free Software community has to offer, to make Ubuntu usable for as many people as possible.

  • The Ubuntu community is entirely committed to the principles of free software development; we encourage people to use open source software, improve it and pass it on.

3. Getting Help

3.1. IRC

IRC stands for Internet Relay Chat. It is a live connection to other LinuxCNC users. The LinuxCNC IRC channel is #linuxcnc on freenode.

The simplest way to get on the IRC is to use the embedded java client on this page.

Some IRC etiquette
  • Ask specific questions… Avoid questions like "Can someone help me?".

  • If you’re really new to all this, think a bit about your question before typing it. Make sure you give enough information so someone can solve your question.

  • Have some patience when waiting for an answer, sometimes it takes a while to formulate an answer or everyone might be busy working or something.

  • Set up your IRC account with your unique name so people will know who you are. If you use the java client, use the same name every time you log in. This helps people remember who you are and if you have been on before many will remember the past discussions which saves time on both ends.

Sharing Files

The most common way to share files on the IRC is to upload the file to one of the following or a similar service and paste the link:

3.2. Mailing List

An Internet Mailing List is a way to put questions out for everyone on that list to see and answer at their convenience. You get better exposure to your questions on a mailing list than on the IRC but answers take longer. In a nutshell you e-mail a message to the list and either get daily digests or individual replies back depending on how you set up your account.

3.3. LinuxCNC Wiki

A Wiki site is a user maintained web site that anyone can add to or edit.

The user maintained LinuxCNC Wiki site contains a wealth of information and tips at:

4. Getting LinuxCNC

4.1. Normal Download

Download the Live CD from:

4.2. Multi-session Download

If the file is too large to download in one session because of a bad or slow Internet connection, use wget to allow resuming after an interrupted download.

Wget Linux

Open a terminal window. In Ubuntu it is Applications/Accessories/Terminal. Use cd to change to the directory where you would like to store the ISO. Use mkdir to create a new directory if needed.

Note that actual file names may change so you might have to go to http://www.linuxcnc.org/ and follow the Download link to get the actual file name. In most browsers you can right click on the link and select Copy Link Location or similar, then paste the link into the terminal window with a right mouse click and select Paste.

Debian Wheezy and LinuxCNC fresh install

The Debian image is a "hybrid" iso, which means you can use the same iso file for a USB stick or a DVD.

To get the Debian Wheezy LinuxCNC Live CD using wget copy one of this in a terminal window and press enter:

The md5sum of the above file is: b515c872335336ccfc96471d66b687d8

To continue a partial download that was interrupted add the -c option to wget:

To stop a download use Ctrl-C or close the terminal window.

Ubuntu 8.04 Hardy Heron and LinuxCNC (older)

For more information on other versions of LinuxCNC visit the linuxcnc.org download page.

After the download is complete you will find the ISO file in the directory that you selected. Next we will burn the CD.

Wget Windows

The wget program is also available for Windows from:

Follow the instructions on the web page for downloading and installing the windows version of the wget program.

To run wget open a command prompt window.

In most Windows it is Programs/Accessories/Command Prompt

First you have to change to the directory where wget is installed in.

Typically it is in C:\Program Files\GnuWin32\bin so in the Command Prompt window type:

cd C:\Program Files\GnuWin32\bin

and the prompt should change to: C:\Program Files\GnuWin32\bin>

Type the wget command into the window and press enter as above.

4.3. Burning the CD

LinuxCNC is distributed as CD image files, called ISOs. To install LinuxCNC, you first need to burn the ISO file onto a CD. You need a working CD/DVD burner and an 80 minute (700 Mb) CD for this. If the CD writing fails, try writing at a slower burn speed.

Verify md5sum in Linux

Before burning a CD, it is highly recommended that you verify the md5sum (hash) of the .iso file.

Open a terminal window. In Ubuntu it is Applications/Accessories/Terminal.

Change to the directory where the ISO was downloaded to.

cd download_directory

Then run the md5sum command with the file name you saved.

md5sum -b binary.hybrid.iso

The md5sum should print out a single line after calculating the hash. On slower computers this might take a minute or two.

b515c872335336ccfc96471d66b687d8 *binary.hybrid.iso

Now compare it to the md5sum value that it should be.

Burning the ISO in Linux
  1. Insert a blank CD into your burner. A CD/DVD Creator or Choose Disc Type window will pop up. Close this, as we will not be using it.

  2. Browse to the downloaded ISO image in the file browser.

  3. Right click on the ISO image file and choose Write to Disc.

  4. Select the write speed. If you are burning a Ubuntu Live CD, it is recommended that you write at the lowest possible speed.

  5. Start the burning process.

  6. If a choose a file name for the disc image window pops up, just pick OK.

Verify md5sum with Windows

Before burning a CD, it is highly recommended that you verify the md5 sum (hash) of the .iso file, to ensure that you got a good download.

Windows does not come with a md5sum program. You will have to download and install one to check the md5sum. More information can be found at:

Burning the ISO in Windows
  1. Download and install Infra Recorder, a free and open source image burning program: http://infrarecorder.org/

  2. Insert a blank CD in the drive and select Do nothing or Cancel if an auto-run dialog pops up.

  3. Open Infra Recorder, and select the Actions menu, then Burn image.

4.4. Testing LinuxCNC

With the Live CD in the CD/DVD drive shut down the computer then turn the computer back on. This will boot the computer from the Live CD. Once the computer has booted up you can try out LinuxCNC without installing it. You can not create custom configurations or modify most system settings like screen resolution unless you install LinuxCNC.

To try out LinuxCNC from the Applications/CNC menu pick LinuxCNC. Then select a sim configuration to try out.

To see if your computer is suitable for software step pulse generation run the Latency Test as shown here.

4.5. Installing LinuxCNC

To install LinuxCNC from the LiveCD select 'Install (Graphical) at bootup.

4.6. Updates to LinuxCNC

With the normal install the Update Manager will notify you of updates to LinuxCNC when you go on line and allow you to easily upgrade with no Linux knowledge needed. If you want to upgrade to Debian Wheezy from 10.04 or 8.04 a clean install from the Live-CD is recommended. It is OK to upgrade everything except the operating system when asked to.

Warning: Do not upgrade the operating system if promped to do so.

4.7. Install Problems

In rare cases you might have to reset the BIOS to default settings if during the Live CD install it cannot recognize the hard drive during the boot up.