CNC – Controller – Software

description : this software is required to run GCode, it is essential to operate a CNC

Mach 3 / 4 (200 Euro) :Mach3 is the most established controller software on the market. Most hardware is designed for this software.

LinuxCNC Opensource and free alternative to Mach3. This software has little support for hardware.

CAD/CAM – Software

Most popular : Fusion-360 (Free)

Not free software: BobCAM, MasterCAM, Autodesk – Inventor


GWizard (80Euro), tool to calculate speed and feeds

3D – Modeling sofware

Sketchup: this software is ideal to create, import & export 3D files

Linear guides

Most popular used for small and light CNC routers. Costs: around 60 – 100 Euro per meter.

For more robust machines (working with metals and alloys). Costs: 200- 300 Euro per meter.

Lead screws

To connect the stepper motors to the axis (linear guides), we need a ‘leadscrew’ :

You also need mounting blocks to hold the leadscrew:


As next we need a housing for the leadscrew nut:


  • Recommended leadscrew diameter: 17+ mm.
  • The housing is very important, don’t use self made metal blades for this job. The housing should be connected close as possible to the axis chassis.
  • Make sure you have access to the leadscrew nut at any time for adding grease.

Motion controller / Breakout boards

CNC Breakout Boards

What Is a CNC Breakout Board?

The CNC Breakout Board is used to interface between your PC and the various motor controls, relays, and other devices you want to control on a CNC machine. There are several different types of CNC Breakout Boards and related devices used to deliver this I/O (Input/Output) capability, including Parallel CNC Breakout Boards, USB Breakout Boards, keyboard emulators, and motion control boards.Simply put, the CNC Breakout Board has two functions:

1. Translate the signals used to run a CNC machine to and from the signals a PC expects.

2. Isolate the PC Motherboard from electrical problems that would otherwise fry the Motherboard.

These are both very important functions. In addition, many refer to USB Motion Controllers, such as the Smoothstepper, as “USB Breakout Boards”. The role of a Motion Control is to relieve your PC control software from having to do all the work and move some of the most time critical parts of that work to a dedicated hardware device. Since the Motion Controller has no distractions (unlike a PC), and can focus totally on motion control, this enables much higher performance.

Breakout BoardSmoothstepper USB Breakout BoardBreakout Board

CNC Breakout Boards…

Parallel CNC Breakout Boards

Parallel CNC Breakout Boards connect to your PC’s parallel port and convert those signals to screw terminals which you may then use in point-to-point wiring to connect up the rest of your system. These are the most commonly used type of breakout board. They’re simple, and relatively inexpensive. They have a few drawbacks. First, the parallel port itself is a bit of a throwback to the early days of the PC. There are limitations on its performance, particularly when used with Windows software, such as with Mach 3. You will be limited in how quickly you can send and receive the signals from the board, which may in turn limit the performance of your CNC. For most low end applications, this is not a problem. For better performance, use a Motion Controller (see below).

The second limitation is that of compatibility. PC manufacturers are gradually phasing out parallel ports altogether in favor of USB, and in the meantime, they are sharply controlling the power consumption of these interfaces. As a result, many later model PC’s use 3.3 volt signals instead of 5 volts. Some breakout boards work fine with this while others have problems. Be sure to check whether the board you are looking at will be compatible with your PC. Laptops are a particular source of this kind of problem.

Lastly, parallel ports have relatively few I/O channels. Boards typically support 11 or fewer outputs and only 5 inputs. As you can imagine, these go quickly, especially if you are trying to connect an elaborate control panel to your machine. For this reason, you either have a choice to “keep it simple”, or you will need to add one or more additional boards to get the job done.

It should be noted that you can add a second parallel port to most computers using a PCI card. Obviously this won’t work with a laptop, because they have no PCI slots. In addition, some card/PC combinations can be finicky when used with Mach 3. Be sure to check with others to see if they have been successful with the particular combination you’d like to try.

Lastly, it is important to purchase a board that incorporates opto-isolation (you can look it up in the CNC Dictionary if you are curious). This feature isolates your PC’s motherboard from any bad connections, noise, or power surges that may occur in the rest of
your circuitry. If you directly connect the parallel port without opto-isolation, you run the risk of destroying your computer’s expensive motherboard.

Suppliers of parallel breakout boards include:




Homann Designs



I’ve done business with CNC4PC and Homann, and have actually used the CNC4PC board, and both companies were excellent to deal with.

USB Breakout Boards

USB breakout boards come in two varieties. First are full scale Motion Controllers, which we will cover in detail in a moment. Second are boards used to increase the I/O capacity beyond what the parallel port provides. While there are boards that purport to simulate a parallel port with a USB connection, they don’t work for CNC applications. The reason is that they are not high enough performance to maintain the exact timing relationships needed to produce a clean pulse train to control multiple servos or steppers. Unfortunately, while USB is the preferred replacement for the parallel port, and it has many advantages, it isn’t clear applications like CNC were considered for either the parallel or serial ports when they were first designed. It takes some very clever coding indeed for software like Mach3 to work on a parallel port, and each new release of Windows seems to make it a little harder.

As I write this,
the only USB Breakout Board I am aware of intended solely to increase I/O capacity is one called ModIO that was developed
by an Australian company called Homann
. This board is capable of adding 8 inputs, 8 outputs,
as well as 3 analog inputs, so it is quite powerful. This board is very well supported by the CNC community, so if you need the extra I/O, I would highly recommend it. I’ve dealt with Peter Homann on occasion and he is extremely helpful and works hard to give what he can to the CNC community.

There are USB boards (the Smoothstepper is one) that can actually generate step and direction pulses suitable for CNC, but these are more properly motion controllers than breakout boards. See the section below for more.

Keyboard Emulators

Keyboard emulators are another approach to extending the basic I/O provided by a parallel breakout card. They do this by converting on/off input signals to simulated key sequences. For example, you could connect a switch labeled “Flood Coolant On” to an input on a keyboard emulator and when the switch
closed, it would forward a key sequence to Mach 3 which could be interpreted to turn on the coolant. Keyboard emulators are simple to hook up: they typically accept your keyboard’s plug and you use a keyboard extension cable to go from the emulator to the PC’s normal keyboard input socket.

There are a number of keyboard emulators out there, but I believe the most popular are Pokeys and the iPac, which is sold Ultimarc.
The basic iPac provides an additional 28 inputs, which is substantial. There is an enhanced version that allows 56 inputs. Pokeys is a 55 I/O channel device.

The thing about Keyboard Emulators is that since they’re just sending key sequences, they have a pretty slow response time. You wouldn’t want to use one for any application that required rapid responses or a good sense of “touch” or “feel”. For example, I would tend to avoid using them with joysticks. But they
are a good way to pick up all the extra buttons on your control panel.

Motion Controllers (USB Breakout Boards)

At the high end of the breakout board spectrum are the motion controllers. They are so high their makers probably object to comparing them to breakout boards.
I only do so because they replace the breakout board. Mach3 works with several, including the Smoothstepper (probably the most popular as I write this), the Galil, and others.

These boards offer a tremendous performance upgrade over parallel boards and the like. Their primary disadvantage is they’re a less mature technology. Since they haven’t been with us for long, and since most of the Mach community is using parallel ports rather than motion controllers, you may find it is a little harder to get helpI have a Smoothstepper, which has worked great.

From Left to Right: GRex, Gecko Drives, and DC Stepper Power Supply for my CNC Lathe project…

Before taking any final steps on a motion controller for your own project, I highly recommend you spend a lot of time getting acquainted with the various online communities associated with your controller software and the motion board in question. Find out what the board’s current limitations are, decide whether they matter to you, and get a sense of how often the board and its software are updated and how happy the user community is.

Performance of Mach3 with a motion controller is a lot better than with a parallel port and Mach3 is much less prone to the finicky problems that some report even though I’m running on a totally antiquated boat anchor of a laptop.

For more on motion controllers, see our 2-part series: Motion Control Boards Take Mach3 from Hobby Class to Industrial Grade.

You may also want to read about how to set up a Smoothstepper for my servo-based mill.

Other Black Boxes

Suppose you have an older CNC machine, or perhaps some surplus servo drivers, and you want to run them with Mach 3, but the controllers expect analog rather than step + direction? You could junk the controllers and buy new Gecko or Rutex Step/Dir servo drivers, but that is an expensive proposition if you believe the drivers you have are working. This is especially true for the higher powered servos on a larger machine.

There are boards out there that will do this conversion.

What about spindle speed control? In most cases, VFD’s and other speed controllers want a voltage that is proportional to the desired spindle speed. Mach 3, on the other hand, puts out digital pulses, so you need a board to convert from the digital world of Mach 3 on one output pin to the analog realm expected by the VFD. Hopefully the board will isolate the sensitive digital electronics from any potential for line voltages to get back into the digital side as well. Homann
 comes to the rescue once again with a couple of boards to perform this function. CNC4PC and others also make boar
ds to do this.

Recommended breakout boards: 

PMDX – 126 (150 Euro)

Additionally you need an interface card “Ethernet SmoothStepper – ESS” (to connect to the computer via Ethernet or USB).

I can recommend Warp-9 (170 Euro):

or  or UCCNC (180 Euro) which has


Economic Setup!

You can get complete motor kits on Ebay for 300 Euros, with everything included:

  • 4 Nema – 23 Motors
  • 4 Motor drives
  • 2 power supplies

This bundles are great for starters and the Nema-23 are commonly used for medium sized CNC machines.

If you need more motor power, just use “Nema-34” bundles! The price will double because the motors consume much more electricity.

Going professional

Motor – Drives

If you need high quality motor precision and speed, people use the “Gecko Drives”. This motor drives are pretty expensive ( 200 – 300 Euro per motor drive). Very popular are also the Gecko 540 4in1 drives:

Using servo motors

Instead of stepper motors, you can use much more powerful “servo motors” :

The advantages of servo motors:

  • very precise and strong
  • doesn’t ‘loose steps’ like stepper motors because they have feedback signal and they always know at which position they are. So you don’t need to re-calibrate your machine every-time (homing)

The problems with servo motors:

  • very expensive: count on 300 Euro to 600 Euro per motor unit (including drive)
  • limited lifespan: 2000 hours
  • since they need an encoder, you have 3 parts of the system: the motor, the drive and the encoder. If one system fails, you will more likely have to replace the whole system

More about servo motors:

Stepper vs Servo

The basic difference between a traditional stepper and stepper-vs-servo.jpga servo-based system is the type of motor and how it is controlled. Steppers typically use 50 to 100 pole brushless motors while typical servo motors have only 4 to 12 poles. A pole is an area of a motor where a North or South magnetic pole is generated either by a permanet magnet or by passing current through the coils of a winding.

Steppers don’t require encoders since they can accurately move between their many poles whereas servos, with few poles, require an encoder to keep track of their position. Steppers simply move incrementally using pulses [open loop] while servo’s read the difference between the motors encoder and the commanded position [closed loop], and adjust the current required to move.


drawing courtesy of National Instruments


Some performance differences between Stepper and Servos are the result of their respective motor design. Stepper motors have many more poles than servo motors. One rotation of a stepper motor requires many more current exchanges through the windings than a servo motor. The stepper motor’s design results in torque degradation at higher speeds when compared to a servo. Using a higher driving bus voltage reduces this effect by mitigating the electrical time constant of the windings. Conversely, a high pole count has a beneficial effect at lower speeds giving the stepper motor a torque advantage over the same size servo motor.

Another difference is the way each motor type is controlled. Traditional steppers operate in the open loop constant current mode. This is a cost savings, since no encoder is necessary for most positioning applications. However, stepper systems operating in a constant current mode creates a significant amount of heat in both the motor and drive, which is a consideration for some applications. Servo control solves this by only supplying the motor current required to move or hold the load. It can also provide a peak torque that is several times higher than the maximum continous motor torque for acceleration. However, a stepper motor can also be controlled in this full servo closed loop mode with the addition of an encoder.

Steppers are simpler to commission and maintain than servos. They are less expensive, especially in small motor applications. They don’t lose steps or require encoders if operated within their design limits. Steppers are stable at rest and hold their position without any fluctuation, especially with dynamic loads.

Servos are excellent in applications requiring speeds greater than 2,000 RPM and for high torque at high speeds or requiring high dynamic response. Steppers are excellent at speeds less than 2,000 RPM and for low to medium acceleration rates and for high holding torque.


Servo control systems are best suited to high speed, high torque applications that involve dynamic load changes. Stepper control systems are less expensive and are optimal for applications that require low-to-medium acceleration, high holding torque, and the flexibility of open or closed loop operation.

Drill bits / End mills

CNC routers need bits. They determine the kind of carving you can do, the resolution of your finished designs, and how fast you can move through the material. They come with cutting edges that pull up or push down (sometimes both), they have square or shaped ends, they are made for speed or accuracy, and they come in diameters from a pinpoint to over two inches for standard CNC routing.

A basic collection of CNC router bits

Choosing bits to use for your CNC router can be confusing. There are a lot of variables to consider when looking for the best bit for you and your project. Here are a few key features to consider.

Choose the bit shape suited for your project

Are you making straight cuts in plywood? Get yourself a good quality spiral cutting endmill. End mills come in many different diameters. You can choose an upcut or downcut.

End mills (aka spiral cutters)
 1/4″ and 1/2″ 2-flute upcut square endmills

Are you carving large 3D contours or carvings ? You’ll want a ball nose bit that is appropriately sized for the level of detail in your model. Ballnose (aka contouring) bits are fantastic for 3d carving (think topographical maps and the grape relief on the sign at the wine shop). You can carve with just the tip to get great detail and smooth contours or they can move a lot of material just like an end mill. I used a 1/2″ ballnose bit to carve a wooden sink.

For intricate 3d carving, consider a tapered ball nose bit like these. The slight angle of the cutting edge helps reduce the appearance of tool marks parallel to your material surface.

 1/4″ and 1/2″ 2-flute ballnose endmills

If you want to do lettering or detailed sign making, you’ll need to get a v bit. These are sometimes called v-carving bits, v-groove bits, or engraving bits. This is the only way to get a sharp grooved bott

om on the inside of those roman numerals for your sundial. They are available in many sizes and angles. The most common and useful angles in order are 60deg, 90deg, and 30deg.

(1/2″ 60deg, 1/4″ 45deg, and 1/4″ 30deg v bits)

If you are flattening large boards or you are responsible for maintaining the spoil board on your CNC router, you’ll want to have a spoil board cutter or flycutter bit. These bits are made to skim the surface and leave a smooth flat finish. I recently upgraded to a 2 1/2″ bit and I love it. Its got four cutting edges and its what as known as an “insert” bit meaning the blades can be removed to be resharpened or replaced. It’s a bit of an investment but it is worth every penny. I love to use it to flatten tabletops.

 2 1/2″ spoilboard (aka flycutter) bit. Amana Tools RC-2251

Choose a bit made for your material

Hardwood? Plywood? Laminated particle board? Plastics? Aluminum?

Many manufacturers make bits especial for your material of choice. Bits for hardwood are designed to leave a clean edge. Bits for plywood and laminates are designed so they won’t mangle the outer veneer layers. Bits for plastics are designed to avoid excessive melting. Aluminum cutting bits are designed to clear chips efficiently to avoid rewelding (heated chips getting fused to the hot cutting tool). Many bits can be used for multiple applications so you don’t need to buy 30 bits right away if you are in the prototyping stage of your project. A good all purpose bit is a 2-flute up cutting spiral bit.

Use the strongest bit you can

One important thing to remember when choosing a bit is that short, stout bits will produce cleaner cuts. Having excessively long bits invites tool vibration and deflection (bending) of your bit. Both of these conditions make for rough looking cuts and greatly shortened tool life. For my own work, I tend to use 3/8″ and 1/2″ shank bits. Not only do they resist deflection and vibration better than 1/4″ bits but they cut much more quietly. 1/4″ bits tend to ring and scream as they cut. You will notice a huge decrease in that deafening noise as you use larger diameter bits.

Balance your need for speed with edge finish

Generally speaking, the bit design you choose will be designed to cut fast or cut smooth. Think of the difference between a chainsaw (fast) and a hand saw with fine teeth like a fret saw (smooth). If you need to cut a large amount of material in a hurry in a high volume production environment you’ll go for an aggressive bit that can be pushed through your material quickly. If you are making furniture and you’d rather not spend a day sanding a ton of tool marks off your nice hardwood, you’ll want to choose a bout that is made to leave a smooth finish. The more flutes (cutting edges) that a bit has, the finer the cut. A single flute bit will be very aggressive and leave a rougher edge than a 4 flute bit will. On the other hand, you can push a single flute bit through your material much faster than a 4 flute bit. This is because making one cut per rotation allows for a more aggressive feed speed than a bit that makes 2, 3, or 4 cuts. Chip clearance is also improved with fewer flutes meaning faster cuts.

Choose the appropriate bit direction

Spiral bits are a great multipurpose tool for lots of applications. I used 2-flute spiral bits for all of my work for at least the first year I used my ShopBot. They offer a good balance of of cut speed and edge finish and can cut a variety of materials from wood and foam to plastics and even aluminum. The biggest decision you’ll need to make when picking your bit is cut direction. Your choice are uncut, downcut, and compression (a combination of upcut and downcut).

Upcutting bits mounted in a CNC pull chips (and your material) up and away from the table. They are great at clearing out chips from your cuts to avoid overheating your bits. They excel at making cuts all the way through material since they just slightly lift the material and scraps up into the end of the bit. Because of the upcutting action, these bits have a tendency to splinter the top surface of sheet goods like plywood and melamine coated particle board. You also need to be very sure that your material is securely held down to the table so the bit doesn’t lift it from the table and chuck it across the room.

Downcutting bits press chips and material back into the cut and into the table. The downshearing action of these bits do a fantastic job of preserving your material’s top surface. Since the chips are forced down into the cut, these bits should never be used to drill holes. The friction of the bit against the compressed chips is enough to melt plastics and start wood on fire. Downcutting bits are preferred for cutting flexible thin material like 1/16″ aluminum sheet since they keep your goods flat to the table where up cutting bits may tend to pull the material up off the table. These bits are not the best at through cuts since the bottom layer of your material is pushed away from the bit by chips and the angle of the spirals leaving a small amount of material or “onion skin”.

A third option called a compression or up-down bit offers some of the benefits of both up and downcut bits. The bit is a standard downcut bit until you get to the tip. The direction of the cut is switched making the tip an upcutter. This means that you can cut through materials like plywood and you will get a clean edge on both sides. The top is shear down, the bottom is pulled up. Compression bits are never to be used to drill holes. Once the bit has been plunged beyond the direction change, the chips have no way to escape and get compressed creating an extreme amount of friction and heat. Compression bits are a little more expensive because of the complicated manufacturing of the cutting edge but they are my goto bit for nearly all of my wood cutting.

Setting feeds and speeds

When people talk about “feeds and speeds” they are referring to two specific settings. Feedrate (feeds) refer to how fast the machine moves laterally through your material. This is generally measured in feet/minute or inches/second. When you hear someone talking about “speeds” they are referring to the spindle/router RPM. Manufacturers will provide a recommended “feeds and speeds” for their bits. Some manufacturers prefer to present a target “chipload”. Chipload refers to the physical size of the chips the bit creates when making a cut. Higher feeedrates produce larger chips. Higher tool rpm produces smaller chips. If your chips are to large, you risk breaking your bit. If your chips are more like a fine powder, you are probably dulling your bit. IT’s a balancing act but start with the manufacturers recommended settings and adjust from there.

Chipload = Feedrate / [RPM x number of flutes]

Sharp bits and Resharpening

Sharp bits are critical to making good looking cuts. Sharp bits are nice and quiet compared to the slapping sound of a severely dull bit. Dull bits are loud and messy. Recognizing a dull bit will get easier as you do more cuts and get your eyes and ears tuned to your machine. You can put a few hundred feet of cut time on a bit in a hurry on a CNC router. Combine that with feeds and speeds that aren’t tuned properly and that shiny new bit is toast after one job. Many manufacturers and local shops offer sharpening service for router bits. Be sure to check on the prices before you commit to have all of your bits sharpened though. Many times it’s cheaper to buy a new bit than have it sharpened. Sharpened bits can also have a slightly smaller diameter than a fresh bit. Ask the tech if your bit diameter will change after sharpening. Do not attempt to sharpen CNC bits by hand. The high speeds and forces on bits in a CNC router put great stress on the bits and hand sharpening can leave your bit misshapen and prone to a dangerous break.

Storing your bits

You’ll want to protect your investment in bits. Be sure the edges of your bits aren’t allowed to bang into each other causing nicks. Carbide can be brittle, especially when knocked against another piece of carbide. A great first project is a bit holder. Design your own to meet your needs. If you travel to and from a makerspace, make something with a closing lid so you can throw it in your bag.

Specialty bits

There are hundreds of other profiles for all kinds of special applications. Once you start production on your kickstarter project you may want to investigate more of your options. There are bits to help make dovetails, bits for etching glass, bits made specifically for drilling holes, and many other applications. Confused? Here are some suggestions to get you started.

Bits you’ll want to have right away.

  • 60 degree v bit (lettering and sign carving)
  • 1/4″ upcut 2 fluted end mill (great for general cutting and shaping)

Bits you’ll love to have as you experiment and learn more.

  • 30 degree engraving bit (for detailed lettering and carving)
  • 1/8″ end mill
  • 1/8″ ballnose
  • 1/4″ ballnose
  • 1/2″ end mill
    1/2″ ballnose

…and a few specialty bits you might need on occasion.

  • aluminum cutting bits
  • miter fold bits
  • Boring (hole drilling) bits – in specific diameters for dowel holes, shelf supports, and many other uses.
  • Round-over and “veining” bits to produce finished edges.