Desk Cnc Breakout Board
The CNC Controller or CNC Control is the package of electronics and software that take input either from g-code or the cnc control panel and converts it to the signals the CNC machine’s motors need to move the CNC axes.
The breakout board does not require software to run, specifically. The breakout board serves only as a signal conditioner where the input signal from the computer is output at the corresponding terminal, or the terminal receives a signal and is conditioned and sent to the parallel connector to be read by the computer. MACH3 Motion Card 4 Axis USB CNC Motion Controller Card Breakout Board for Engraving 100 KHz Wal front - With 1 status led, the connection status could be indicated on the board clearly. 4 general-purpose inputs-with 4 general-purpose inputs, probe switch, you can connect the limit switch, estop switch, back to zero and other device. New Listing 4 Axis CNC Kit Breakout Board With Display Keypad + 4X MA860H Stepper Drivers.
The controller with its CNC Control Software and electronics are the most complex part of a CNC Machine. In this article, we’ll break it down along several dimensions each of which you can then drill down on further:
- Types of CNC Controllers
- CNC Controller Electronics
- CNC Controller Software
- Choosing the Best CNC Controller for Your CNC Machine
Types of CNC Controllers
Industrial OEM CNC Controllers
Industrial OEM CNC Controllers are the ones used on Industrial CNC Machines like Haas. They’re the very hind end of the market.
These are not very common for DIY projects due to their expense. Not only is the controller itself expensive and fairly hard to come by (though one does see them from time to time on eBay), but Industrial OEM Controllers expect premium sub-components too. Industrial Quality Servo Drives, Home / Limit Switches, and all the rest really run up a hefty price tag in a hurry.
While these controls are expensive, lately I’ve seen controls such as the low-end of the Siemens line coming down in price in places like eBay. It looks like they’re testing the low-end market. If they keep coming down, these controls may make more sense on a DIY CNC Project than it seems.
I’m not going to talk further about these controls as they’re a pretty advanced topic. You might find the article I did that analyzes what features Hobby CNC Controllers are missing compared to industrial controls intersesting.
CNC Retrofit Controllers
Just a small step down from Industrial OEM Controllers are CNC Retrofit Controllers like Centroid.
These controllers are marketed for converting manual machines to CNC, for example, a Bridgeport manual milling machine. They’re also sold as a way to update obsolete controls on industrial CNC Machines to bring the more up-to-date features and performance.
They’re still not cheap, but they’re starting to fall into the range of what a DIY CNC’er might afford.
PC Based CNC Controllers
Microsoft word document disappeared mac. There are three main players in this market:
- Mach 3 & Mach 4
- LinuxCNC
- FlashCut
All three have good reputations with varying trade-offs of features, functionality, price, and ease of use.
Mach 3
Art Fenerty founded ArtSoft in 2001 and launched Mach 3, which was based on an offshoot of the original EMC (which is now LinuxCNC) code base. Art wanted a CNC Controller that runs on Microsoft Windows PC’s rather than Linux, so it took a major rewrite and the two don’t share much in common any more.
According to our 2017 Survey, Mach 3 is the most popular CNC Controller at the low-end, with 47% market share. The next closest was LinuxCNC.
LinuxCNC (My personal favorite!)
LinuxCNC has its origins in NIST’s “Enhanced Machine Controller” project, hence its original name “EMC” and “EMC 2”. Since the EMC corporation owns the trademark, the name was changed to LinuxCNC in
LinuxCNC is Open Source software, which means you can actually obtain the latest source code should you wish to understand or modify it. It also means that a much larger audience, including companies like Tormach, can contribute to LinuxCNC.
While it’s extremely cool that LinuxCNC is Open Source, it’s the contributions of Tormach, and the PathPilot “flavor” of LinuxCNC that made it my favorite choice. Having used Mach 3 for years, I can tell you that Tormach made a good decision when they moved from Mach 3 to LinuxCNC.
PathPilot is simply more stable, more powerful, and more user friendly than Mach 3, and there’s not much more you could ask for.
Now, getting your own PathPilot CNC Controller up and running for your own DIY CNC may not be quite as straightforward. You’ll have to assemble a controller that matches Tormach’s and get a copy of PathPilot up and running on it. There are various articles out there that purport to help. I haven’t verified any of them yet, but if it can be done, you’ll have a sweet setup.
FlashCut
FlashCut is a very nifty plug-and-play CNC Controller. The company was started back in 1993, so it’s been around a long time and the design is very mature.
While its Market Share isn’t as big as Mach3 or LinuxCNC, I’ve heard nothing but good about FlashCut. Here’s a great video by Dave DeCaussin (one of the original founders of FADAL) showing how easy it is to set up a FlashCut system:
I’ve heard some folks say they think the FlashCut is too expensive compared to other solutions. I put pencil to paper one time comparing it to a Mach3 system and I found that if you configure a system with all the capabilities of FlashCut (like a USB pulser for Mach3) that the premium isn’t as high as you may think.
Having a completely engineered turnkey system that’s plug-and-play is worth a bit of premium if you ask me.
Mach 4
Mach 4 is the newest solution in this category, and has by far the smallest market share. It’s almost a start over from scratch rewrite of Mach 3. The developers claim it shares less than 1% of Mach 3’s code.
It’s quite a bit more expensive, but in theory, should be better. From my perspective, the jury is still out–not enough market share or experience to bet on it when the competition is well entrenched and has far larger installed bases.
Microcontrollers: USB, Arduino, Rasperry Pi, TinyG, & More
Microcontrollers allow CNC Controllers to be built that are cheap and fit into a small space.
CNC Microcontrollers are a relatively new development made possible by continued advances in miniaturization and software. The idea is to put everything you need on one small circuit board, or perhaps a microcontroller board with a daughterboard commonly called a “Shield”.
Here’s a quick list of all the most popular CNC Microcontrollers:
Grbl
Grbl (pronounced gerbil) runs on an Arduino microcontroller. It’s open source, and in use by a lot of different firms including:
That’s pretty much an all-star cast, so you can be sure GRBL has a vibrant ecosystem of products and people who can help and also that it has a bright future. The Shapeoko people told me they evaluated a bunch of these and felt GRBL was head and shoulders the winner for their needs.
TinyG / TinyG2
TinyG is another microcontroller-based system. It’s related to grbl, but it’s not the same. The TinyG codebase was forked from grbl in 2010 and has been going its own way ever since. TinyG claims to do some things better or differently:
- While grbl is 3-axis (XYZ), TinyG is 6-axis so can support additional rotary axes. By default, TinyG controllers have 4 stepper motor drivers while gShield (used with grbl) has 3.
- TinyG claims some fancy motion control algorithms, specifically “jerk” acceleration profiles for smoother motion.
- TinyG claims its implemented on a higher performance microcontroller that has more memory.
Desk Cnc Breakout Board Pinout
PlanetCNC
PlanetCNC is a single-board CNC Controller that hails from Slovenia, Europe. Like TinyG, it’s also a 4-axis solution. In our 2017 CNC Controller Survey, GRBL had #1 market share, PlanetCNC #2, and TinyG #3 among the microcontrollers.
CNC Controller Electronics
Here’s the sort of electronics you’ll find inside most CNC Controller cabinets:
Let’s go over the function of each.
Breakout Board
CNC Breakout Board for Parallel Port…
The role of the Breakout Board is to take a connection from your PC and generate the appropriate signals needed to operate the Motor Drives, VFD, and Contactors.
For a deeper dive on Breakout Boards, see our article:
[ CNC Breakout Boards ]
The most common breakout boards, such as the one pictured above, are connected to your PC’s parallel port. This can be a problem, since parallel ports are obsolete and most new computers don’t have them. In addition, there are a lot of performance and reliability issues associated with breakout boards.
Newer and more sophisticated models are actually motion control boards, though some may still refer to them as breakout boards. These boards can connect via USB or Ethernet cable.
It’s impossible to control a USB connection finely enough to directly generate the precise pulses needed by Axis Motor Drives, so the role of a Motion Controller is to accept higher level commands and generate the pulses. The result is much higher performance a at a slightly higher cost.
We also have a great article on Motion Control Boards:
[ Motion Control Boards ]
Motor Drives / Drivers
Leadshine Easy Servo Drives…
Given a breakout or motion control board, your PC’s signals are converted to 2 signals:
- Step: Each pulse on the step line tells the motor drive to move the motor 1 step.
- Direction: If the polarity of direction is one way, it commands the motion to be clockwise. Switching polarity reverses direction to counter-clockwise. In fact, polarity is perhaps not the best term as it may simply be signal for one direction and no signal for the other.
In addition to step/dir signals, the motor drive accepts DC power, and, in the case of servos, it accepts the encoder signal as well. In exchange, it pumps out power to the motor in such a way as to control its motion.
DC Power Supply (Not Shown)
The photo above did not show a DC power supply because the motor drives used are capable of accepting AC. That’s very convenient, but not always the case. You may need to purchase or build a DC power supply to provide power to your motor drives.
One of the first CNC Controllers I built used this DC Power Supply:
Contactors
Contactoris a fancy name for a relay capable of being used for higher voltages. In this case, most contactors are used to switch AC, for example to control a coolant pump. Your breakout board typically supplies a 5V DC signal. The Contactor’s job is to turn on (or off if normally closed) AC power when the 5V signal is on and turn it back off when the 5V signal goes away.
VFD: Variable Frequency Drive
Powering and controlling a CNC Spindle is a job for a Variable Frequency Drive, abbreviated VFD.
Desk Cnc Breakout Board Kit
Choosing and programming a VFD is a complex process that we can’t go into here. For starters, you’ll want to make sure your VFD has enough power to run your spindle motor. There are a number of different kinds of VFD, but the best bang for the buck comes from something called a “Sensorless Vector Drive.”
Choosing the Best CNC Controller for Your CNC Machine
Choosing the Best CNC Controller for your CNC Machine is a matter of balancing some important trade-offs:
Trade-Offs when choosing the best CNC Controller…
The trade-offs boil down to all-out performance versus ease-of-success. A simple turnkey kit that has everything you need is pretty easy to get running. But, it may sacrifice some all-out performance relative to carefully cherry-picking the very best of each component for your application.
Ask yourself where you skill set and interests lie. It will take longer and very likely cost more to get that all-out solution up and running reliably. It will also take a lot more skills.
Are you good at diagnosing problems in electrical circuits? Can you read through all the spec sheets and properly determine which components are compatible with one another? Do you enjoy all that?
If the answer is “Yes” to those questions, you’re in a better position to try all the “bleeding” edge (i.e. leading edge) goodies in your project. If the answer is “No”, look for a proven kit that has everything you need and a large community of folks you can turn to with questions.
Market Share of Different CNC Controllers
Speaking of community, I think they’re critically important to the success of DIY projects.
I’ve been on that Bleeding Edge where nobody can help or answer questions and it can get lonely. These days, I prefer to choose products that have a decent-sized community. I like to see evidence that others have already accomplished what I’m looking for with the components I’m considering before I take the leap.
You’ll find you can get 80% of the performance with only 20% of the pain if you take that approach.
To have a decent community, products need a lot of users. You can learn more about the market share of various controls from our CNC Controller surveys:
[ CNC Surveys ]
Is Manual Machining Faster than CNC for Simple Parts?
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.
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.
Desk Cnc Breakout Board Cnc
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:
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
Designs. 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 help. I have a Smoothstepper, which has worked great.
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
Designs comes to the rescue once again with a couple of boards to perform this function. CNC4PC and others also make boards to do this.
For More on CNC Controllers, Conversions, and Retrofits, Please See:
Accuracy and Performance: What factors control the accuracy and performance
of my CNC machine?
Debugging CNC Electronics:
Thoughts on debugging CNC electronics.
Enclosure Gallery:
Looking for ideas for your electronics enclosure?
Eliminating Backlash Part 1: I’m converting a manual machine or building a new
machine, how do I get rid of backlash? Why should I care?
Eliminating Backlash Part 2: My machine has all the “right” stuff, but
it still has backlash. How do I get rid of it?
Master Checklist:
A checklist of everything that goes into a CNC machine project together with links to appropriate pages here.
Desk Cnc Breakout Board Game
Noise Problems: Diagnosing and fixing noise problems in CNC systems.
Stepper, Servo & Backlash Simulator: Wherein we explore the perennial debate
over steppers vs servos and the effects of backlash.