Hobby CNC Controllers have gotten to where they’re quite powerful. I recently saw an article on a single chip CNC controller–no need for a PC, just add a few outboard parts and it drives the stepper motors, provides an LCD screen UI, and quite a lot more. Amazing stuff, and it’s only going to keep getting better over time. Despite their newfound power, there are a number of features that Pro CNC Controls have that most Hobby CNC Controllers do not. Here are 10 of them:
1. Better Macros and Subprograms: Fanuc Macro B vs Mach3 vs LinuxCNC
This is one of the biggest ones for me. The ability to program the g-code in Pro machines is quite a ways ahead of the Hobby Controllers such as Mach 3 or LinuxCNC. What’s specifically missing so far are branching structures–IF, GOTO, and WHILE loops. You can only do so much with #variables and subprograms without branching. Branching is the ability for the g-code to change what it will do based on outside inputs.
2. More and Better Canned Cycles
This is another one that makes a big difference, particularly when programming lathes. Canned cycles like G71 on the lathe make it fairly easy to hand program even complex profiles quickly and without the need for CAM software.
3. Rigid Tapping via Closed Loop to the Control
There’s a lot of Holy War diatribe about whether or not there is Closed Loop all the way back to the Control when discussing such things as Mach3 versus LinuxCNC. I prefer to look at what specific features the user gets from Closed Loop rather than worrying about the theoretical implications, so I’m going to name a few here. First up is Rigid Tapping. In theory it should be pretty straightforward to get this into Hobby Controls given that they support an encoder for threading on lathes, but you don’t see it very often. It’s not easy to do it right for one thing.
The acid test is rapid tapping into a blind hole. If there’s a mistake you either get too little of the hole threaded or the tap hits the bottom and usually breaks. It’s an unforgiving application.
4. Increased Homing Accuracy via Closed Loop
Another neat trick the Pros use is to tremendously increase the accuracy of Home Switches by tying them to the Encoders on each axis. The actual Home Switch only has to identify the neighborhood within 1 encoder revolution. The precise position can then be read from the encoder position to an accuracy that’s much higher than can be achieved with a simple Home Switch.
5. Advanced Acceleration and Shape Control
Acceleration is always a bit of a bugaboo for CNC machines. They can’t accelerate to the commanded feedrate instantly nor stop on a dime. In fact, it is surprising how often they’re not going the speed you thought you’d programmed them to go because they’re busy trying to accelerate or decelerate to get there. We added some information to our G-Wizard Editor that tries to tell you what acceleration is doing to g-code program run times as well as what’s happening line by line. That’s extremely useful for cost estimating and for tuning up g-code part programs to run better.
The very best Controllers are all over the acceleration problem. They not only understand the acceleration capabilities of the machine, they also understand the actual shape of the acceleration curve. This can lead to a number of advantages including greater precision, smoother/faster speed changes, better surface finishes, and ultimately, shorter cycle times. They user this information together with Closed Loop Information and Lookahead Information about what the g-code will do next to try to anticipate and stay ahead of the game. They can provide capabilities like Automatic Corner Override, Advanced Contour Control, Advanced Feed Forward Control, and Advanced Acceleration Control.
If you’re doing 3D profiling or running a fancy HSM toolpath you will love having these features available from your Controller.
6. Machine Compensation
No mechanical device is perfect. No ballscrew is without at least some small amount of backlash, nor does every inch of the ballscrew thread advance with perfect precision. Sometimes a commanded move of an inch is 0.9996 inches while other times it may be 1.0003 inches. With the right software in your Controller, it can try to compensate for these issues. There’s Backlash and Pitch compensation for the aforementioned ballscrew problems. Add to that straightness compensation which adjusts for the fact that the axes of the machine are not completely orthogonal to one another. As you move a machine in X, it may change Y or Z some tiny amount. Another important source of error is addressed by Temperature Compensation. As your machine warms up, parts expand at different rates. On a hot day it may be one thing and then you fire it up in the winter before warm up and it is quite another.
Good controls can compensate for all of these things using a variety of techniques. They are calibrated periodically by a Ballbar or Laser Interferometer test to reset the compensation settings. Really fancy machines may even have glass scales similar to DRO scales that are continuously reading how much each axis actually moved and using that to update the Controller on what’s really going on.
Some of this is available for Hobby Controllers–backlash compensation and leadscrew pitch compensation are the ones I am familiar with. But it’s done in a far simpler manner and Hobby Machines seldom get the precise calibration to dial in compensation that Pro machines do.
7. Advanced Tool and Part Program Management
Pro CNC Machines are often used for long part runs, so they have features to help manage Tools and Part Programs that are geared to that application. They’ll keep up with how long each tool in the changer has been in use, for example. On the part program side they can track program usage, verify version data, and organize programs in folders with extended descriptors. Really fancy controls can provide some front end menus for the operator that help make their job easier and give them options. For example, it is often convenient to be able to skip some parts of the program, for example when reworking parts that already have those features machined and just need to do the later work.
8. Tool Compensation
I like to think of Tool Compensation as the Poor Man’s CAM, but it is so much more. Tool compensation is essentially the ability to program g-code for the tool centerline instead of the tool’s edge. The control will “move the tool over” by the right amount for the cut. When we specify our programs in this way, it is easier to write programs by hand, hence the “Poor Man’s CAM” nickname. But it also unlocks a lot of power for the Shop Floor to make changes using wear offsets without having to change the part program’s g-code.
Suppose you run a part and inspect it. Some of the features are out of tolerance a little bit. Compensating for that without tool compensation likely means you’re going to have to adjust it at the CADCAM level–a complicated and slow process. But, if your part program uses Tool Compensation, you can simply dial in another wear offset and suddenly your part is right on. Professionals constantly use this capability to increase the precision of their parts and to make minor adjustments where it just wouldn’t be worth it to go back through a CADCAM cycle.
Wait a minute, you’re saying–Hobby Controllers have this feature. Yes, sort of, but there are so many reports of bugs in the feature that I don’t know of very many Hobby CNC’ers that are successfuly using the feature very often. You have to use it just right or it won’t work for you, and often the failures are mysterious and can even lead to machine crashes. Tormach even did an article series in Digital Machinist about how to get it to work. They have quite a few caveats in the operator manual for the PCNC 1100 mill suggesting not to use compensation in cases such as:
– Subroutine programming
– Canned cycles
– Macro programming
– Polar mode
– With run from here function
– With multiple work offsets
Those are some pretty serious limitations. If you’re running a Hobby Controller and have gotten Tool Comp to work, good on you. For most, there’s just too many gotchas. One could argue that stability in general has been more of a problem for Hobby Controllers than Pro Controllers. I will say that while Mach3 on my mill has had a number of bugs off and on, LinuxCNC on my Tormach Lathe has been solid so far. The Tormach guys really gave it a wringing out.
9. Dedicated Control Panel
First let me say that it is entirely possible to build a very nice dedicated control panel for a Hobby CNC Controller. I’ve got a whole page with photos of CNC Control Panels for those who want inspiration. But once again, they’re not very common on Hobby Controllers whereas they are completely the norm on Pro Controls. The reason is simple, these panels are rugged enough for the Shop Floor and they can be significantly more productive for machine operators than trying to use a keyboard and mouse.
10. Drip Feeding for Remote Control
This is another of my favorite Pro-features because it enables you to “remote control” the machine. Essentially, drip feed means giving the CNC Machine a little bit of g-code at a time. It executes that g-code and then comes back for more. The code is normally delivered via RS-232 serial cable, but there are a lot of other options for newer machines. Drip Feed was originally invented as a way around the memory limitations of early CNC Controls. They just couldn’t hold very large programs so drip feed gave them the g-code a little bit at a time. It’s still used quite often for that purpose, but increasingly it is also used to automate and monitor the deliver of g-code to machines. Using this approach helps guarantee the correct version of the g-code is being executed, it can gather information from the machine about what it’s doing to use in reporting and optimization, and it can facilitate complex “Lights Out” automated operation.
Bonus: 4 Things Hobby Controllers do that Pros Don’t
Okay Hobbyists, I know you’re smarting a bit over that list. Some of it you’re pretty sure you can tackle and some of it you just don’t care about. There’s also some things Hobby Controllers do that the Pros don’t that are very cool, so let’s talk about those for a minute.
There’s no getting around it–Pro Controllers are expensive. It’s so expensive to add a name brand controller to a machine that many companies have gone to the expense of creating their own controls to keep their individual machine cost down. I had one manufacturer tell me the difference in cost between their control and say a Fanuc was thousands of dollars and they had come to regard their control as being better. Hobby Controllers are very cheap–sometimes free if you have an old PC laying around. LinuxCNC is open source software, for example. Mach3 is not very expensive either.
2. Memory and LAN Connectivity
These are options on the Pro Controls but they’re so much more expensive that a lot of machines have no LAN connection and not as much RAM memory as they would like. With proprietary equipment there is a serious markup. I remember one time when I was VP of Engineering for Borland looking into 1 GB Ethernet cards for our testing lab. Test results were coming too slowly because the LAN was congested. The boards were $99 at Fry’s so I came running back to tell the Lab manager that we could upgrade. “What about our Sun Workstations?” was the response. It seems the exact same 1 GB LAN card for the Sun (presumably with just a little different BIOS, but it was easy to see it was an identical card) was over $1000!
So it is with Pro CNC Controllers. Memory, LAN connection, and other goodies have a very high markup. On the Hobby Controller side we take this stuff for granted because it’s cheap and abundant on PC’s.
3. Modern UI
Hobby Controllers run on Windows, so they have a Consumer-Grade User Interface. That can be a lot slicker than what many Pro CNC Controllers provide, some of which looks like a bad day on a DOS machine we haven’t seen in so many years we hardly can remember it. This is not true of all Pro Controllers, as many are based on Windows too. But it sure seems like there are lots of truly ugly Controller UI’s out there.
This is another one where Hobby Controllers excel. It’s very easy to customize the software so it runs the way you’d like it to. There are some really nice screen sets out there for Mach3, and LinuxCNC is Open Source so anything about it can be customized. This means there are a lot more 3rd party products out there like the Mach Standard Mill screen set.
Slick add-ons for probing and so on are common. I remember visiting a friend’s shop who had just gotten in a fancy Heidenhain probe set up. There was no UI for it on his Fanuc control because there’s no provision for custom UI. He had to wade through something like 1400 custom subprograms that came (at extra cost) with the probe and run them by hand to perform various probing tasks.
There are exceptions to this. Datron has added a very nice customization layer to their G-Code control, for example.
Pro CNC Machines are not going to be switching to Hobby CNC Controllers any time soon–there’s too much that they need that the Hobby Controllers lack. I haven’t even touched on the whole topic of hardware control of motion, which can be added to Hobby Controllers, but is still not as common as on Pro Equipment.
On the other hand, Hobby Controllers keep getting more powerful. A lot of the new work is on the low end–providing the basic support that a 3D Printer or lower end CNC Router needs to operate. As mentioned, we even have single chip solutions for such machines now. The next step will be adding more g-code features to those basic Controllers. The fact that many of these Hobby Controllers are Open Sourced makes it easier for more people to contribute improvements. If you wanted to add full Fanuc Macro B support to LinuxCNC, it’s very doable, for example.
I hope we see lots of these features I’ve described finding their way into Hobby Contollers soon. The next 2 to 5 years should be an exciting time in the industry. If at some point they become good enough to start challenging the Pros, that’ll be interesting too as they certainly do have a cost advantage.
Like what you read on CNCCookbook?
Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
- Our Big List of over 200 CNC Tips and Techniques
- Our Free GCode Programming Basics Course
- And more!
Just enter your name and email address below:
100% Privacy: We will never Spam you!
Bob is responsible for the development and implementation of the popular G-Wizard CNC Software. Bob is also the founder of CNCCookbook, the largest CNC-related blog on the Internet.