Home of TurboCNC, the best open-source CNC control around...

  You are here:
  Homepage -> Articles -> Beginner's CNC
Latest release of TurboCNC is v4.01 build 050312
released March 13

Beginner's Guide to CNC Conversions

  Hardware Software  
Articles HOME FAQ's
  Manuals User
Ordering Contact
  Sitemap Links  

Why Convert?

  If you're thinking of converting your tired lathe or mill to CNC, I recommend you do so as it can be a fun and intensely rewarding project.  

  Before you do, it's probably a good idea to consider what you typically use it for and whether a CNC conversion will help you do it better or faster.  Generally the further along the spectrum you are toward the production side, the better off you are converting.  

  For one-off hobbying around or oddball maintenance I wouldn't recommend it, as it tends to get in the way of getting anything done that requires "feel" on the part of the operator.  Check out the backlash and the generally serviceability of the machine beforehand, as CNC's tend to get run pretty hard under unforgiving conditions.

  I should also mention that one needs to be comfortable with computers in order to use CNC effectively. You don't need to be a whiz, but you should be comfortable navigating around with files and using multiple programs for editing.

System Overview

You can envision a typical hobby CNC system broken down as a column of eight elements as shown below:

Highest Level

  • Gcode Interpreter
  • Computer
  • Parallel Port
  • Drive(s)
  • Motor(s)
  • Machine

Lowest Level

  I'll discuss each of these, starting with the most familiar lower level elements and working my way up.

The Machine

  Probably the simplest piece to understand is the machine, all the way at the bottom rung. This is the same type of machine used in everyday operations. It can be a lathe, mill, gear cutter, injection mold machine, or anything that has moving parts you want to control. Most hobbyists work with small three axis milling machines like the Sherline.

  A common question is whether to use the factory lead-screws or upgrade to ballscrews.  The best answer is that it depends on the condition of the existing hardware, whether there is physical space or some rigging issue with the conversion, and whether you can afford it.  Ballscrews are most useful on a mill where cutting is often done in both directions.


  Moving forward, we need to have some way of driving this machine automatically. A human would turn the hand wheels in order to make parts. A CNC machine will use motors to accomplish the same thing.

  Motors come in two basic varieties, stepper motors and servo motors. 

     Steppers are a special type of multiple pole motor.  Each pulse of current turns the shaft some small angle, typically 1.8 degrees.  They have high torque at low speeds, and can command and hold a particular shaft orientation very precisely.

     Servos are the best thing to have for CNC. "Servo" is Latin for slave, which is exactly what the motors do. In a nutshell, they're regular DC synchronous motors that are optimized for low inertia, high acceleration, and continuously variable speed through their range and have an integral encoder. Generally these take a lot of computing horsepower to direct accurately since they have to be monitored and controlled continuously, usually using a PID filter or other dedicated driver and an encoder.  These days, such things are for the most part invisible to the user, and so there isn't a large conceptual gap between servo driven systems and stepper driven systems.

  I would recommend that a beginner to CNC use stepper motors. They're much easier to use and far cheaper. You can connect to motor to your machine using a rigid coupling made of aluminum. Simply bore a hole in each end to the size shaft you need to mate, and hold it all together with setscrews.

     Some standard kits to do this are available for the Bridgeport clones and the popular Sherline 5400 bench top mill..


  The type of motor you buy influences the type of drive you should buy. Think of the drive is an amplifier that allows a computer to control a motor through an interface of low voltage digital signals.

  Stepper motors and servos cannot use the same drives. If you're using a stepper motor I can recommend the Geckodrive G210 or 201. Servo users should use the G320 or G340. 

  For low powered machines like the Sherline lathe and mills I can recommend the Xylotex drives as they're much cheaper.

  You will need to obtain a power supply for the drives that can supply the proper voltages and current for your drive/motor combination.  The best thing to do is to use a large linear power supply with a capacitor filter.

  Switching power supplies such as those found in computers do not work well with the current regulation in most modern drives.

Parallel Port

  Next you need to connect the drives to your computer's parallel port. The parallel port is the 25 pin female connector somewhere in the back of your computer that looks like this:

  This is relatively easy to do but in recent days it has gotten easier still with the introduction of parallel port breakout boards from several manufacturers. Typically these have several relays and high current outputs to control coolant and other goodies.

  Fortunately the complexity of controlling the motors is abstracted from you, from the drives level upward. All the computers sends the motors are step and direction signals, which require only two wires and a ground. On the computer parallel port pins 18 through 25 are ground.


  This brings us to the topic of the computer itself. What kind of computer should you use? For TurboCNC you can use anything from an old 486 PC to the latest Pentium. Most other CNC software has similar basic requirements (EMC, Mach2, CNCPro).  

  I'm not currently aware of any CNC interpreters that run on a Mac, to answer an uncommon but perfectly reasonable question.

  Since TurboCNC is DOS based, you may want to install a version of Windows in order to use your favorite CAD/CAM system on top of DOS. TurboCNC works best with Windows 3.1, 95 and 98. Naturally you want to make sure that your computer has a parallel port.

G-code Interpreter

The G-code interpreter (sometimes called just the interpreter) is the program that actually does the work of sending signals out to drive your motors and thus your machine as well. 

G-code is a script language for defining the motion involved in making a part.  Here is an example of g-code:

G00 X1.00 Y0.75
G01 Z-0.250 F3.0
G02 X0.50 R1.345

  It's important to point out the G-code involves motion only, it has no idea of the actual shape of a part. All it knows how to do is turn a wheel one direction for a little while then turn another wheel another direction and so on.

Programs written in G-code can be a short as a dozen lines or as long as millions of lines. Some programmers write all their G-code by hand and are happy that way.


For the rest of us we have CAD/CAM software. 

This is the top element of the column and at this stage one can take an idea, represent it in CAD, and then with a few short clicks generate the G-code to produce it in metal. CAD/CAM software is getting more powerful all the time, and it's usually priced to match, often in the several thousands of dollars.

  For the beginner, I would recommend writing your programs by hand initially. You will become much more familiar with the process and the pitfalls. 

  Although CAD/CAM software is excellent it is very common to encounter a situation where you need to hand edit your code. Having some basic foreknowledge will help you enormously when you get to that stage.


  I hope this gives you a good overview of how a typical CNC conversion is laid out. I don't want to make this a how-to guide, rather it's meant to be a sort of overview for you to understand the process as a whole and to advice on some possible roadblocks you may encounter.

Now the you're eager to dive in and start your CNC conversion here some suppliers and vendors you may wish to take a look at.

Sherline - Small bench-top mills and lathes

Taig - Small benchtop lathes and mills.

Harbor Freight - Retailers of import machine tools

McMaster-Carr - The best source for anything odd and mechanical - couplings, screws, gears, bearings, bellows, you name it.

Camtronics - Stepper motors, turnkey stepper and servo drive systems

Geckodrive Inc - Stepper and servo motor drives

Xylotex - Stepper drives for bench-top machines

Intelligent Motion Systems - Stepper drives and power supplies.  High quality.

PMDX - Parallel port breakout boards

Note:  I'm leaving computer suppliers off this list.  You know where to find those!

DAK Engineering - Interpreter software, DOS based, open source.

Yeager Automation - Interpreter software, DOS based

ArtSoft - Interpreter software, Windows based

Flashcut  - Interpreter software, Windows based with a hardware step generator

EMC - Interpreter software, Linux based, open source.

IMS - CAD/CAM software

BobCad - CAD/CAM software

AutoDesk - CAD software with scripting support.  Industry standard.

IntelliCAD - More CAD, free download.

MasterCAM - CAD/CAM.  Industry standard.

Good luck with your projects.





2001-2020 DAK Engineering.  

All rights reserved.

This page last updated on January 11, 2015 .