What is Mach3
Mach3 is a piece of software that turns a typical computer into a CNC machine controller. Mach3 works on most Windows PC’s to control the motion of the stepper motors by processing G-Code. It has some useful extra features as well. There is other software you can use which I’ll cover briefly in this article, but Mach3 is probably the most widely used for the CNC hobbyist. Originally, Mach-series software only worked with the parallel port (via the parallel port driver), which was a standard port on every PC back then. Technologies have advanced over time, and not only is the parallel port becoming obsolete, but the Windows code base has changed to the point where it is sometimes very difficult to get parallel port working with the Mach3 driver.
From Mach3 website
“Mach3 will run on any Windows OS from Windows 2000 through Windows 8. The parallel port driver included with Mach3 will only work with 32-bit DESKTOP computers with versions of Windows 2000 through Windows 7, but will not work with any 64-bit version of Windows or with Windows 8. Windows 8 and 64 bit versions of windows require an external motion device which can be purchased very reasonably.”
Parallel (LPT) port used by Mach3 is obsolete
Don’t despair there are several options I’ll discuss each one and provide links to the solutions with the pros and cons. The solutions discussed I think should be affordable to most hobbyist. There are other solutions but they usually a lot more expensive.
- Old desktop PC with a parallel port connected to a parallel controller
- Newer desktop PC with a parallel port add-on card
- USB to Parallel converters
- USB controller boards
- Ethernet Port controller Boards
- Alternative software – Mach4, JediCut
Use and old desktop PC with a parallel port
This is probably the cheapest option and one that’s known to work. I have several old Dell desktops donated from friends and family running Windows XP 32 bit with 2GB of RAM. Mach3 only needs 512MB. Just plug in the DB-25 cable and that’s it. This is how I run Mach3 but there may come a time when I need to move to USB. You can pick up and old desktop on eBay for around £50/$70 and this running Windows XP or Windows 7 32bit with 2GB of RAM will be absolutely fine for Mach3.
Here’s my TB6560 4 axis controller with the parallel cable attached and then hooked up to my Dell desktop. Personally I’ve found Dell desktops to be very good as a CNC controller and you can still find drivers for them on the Dell website. Here’s a link to the controller on eBay TB6560 4 Axis (USA) eBay UK that I use. I’ve made several wings and fuselages with it and also use it on my CNC router with a different configuration file.
Use a newer desktop PC with a parallel port add-on card
Some newer PC’s don’t have the parallel port but have expansion slots for PCI add-on cards. These cards are quite cheap and once installed work just like the solution above. They will probably present themselves as a different port and memory address, but Mach3 can be configured with these settings. Make sure you get a 5 Volt version some PCI slots and cards run at 3.3 volts which may not be enough to drive the controller. The one link here is a 5 Volt version.
Check link for details and prices on Amazon Rosewill Single Parallel (SPP/PS2/EPP/ECP) Universal Low-Profile PCI card
USB to Parallel converters
These are specialized adapters known to work with Mach3, not to be confused with generic USB to parallel adapters. It needs driver software to make it work correctly with Mach3. These adapters connect to the CNC control boards DB-25 port and then to the PC’s USB port. Then you’ll need to load the supplied driver in Mach3 This one from CNCDrive is very small and fits in the shell case of the DB25 adapter and gets good reviews on the CNC forums. Check the latest price on Amazon
Warp9 produce a board here’s the details of how it connects from their website
The USB SmoothStepper (USS) connects to your PC via USB, has 2 parallel ports and a third dedicated input port. The SmoothStepper's parallel ports allow it to integrate seamlessly with most external devices (CNC equipment and Break Out Boards) that require a Parallel Port interface, with only a ribbon cable to connect them together.
USB controller boards
- Using a dedicated board that then connects to separate driver modules and then the steppers. Advantage of this method is that if one of the drivers goes faulty you just replace that. They tend to use the TB6600 chip which can handle bigger currents and voltages than the TB6560
- TB6600 and TB6560 controller boards- There are two types as an all in one board in 3 and 4 axis or as a breakout board and stepper drivers.
A USB TB6560 4 Axis Board from Amazon
A USB TB6600 4 Axis Board from Amazon
- Planet-CNC board produce a range of boards this is there 4 axis USB https://planet-cnc.com/product/cnc-usb-controller-mk34-4-axis/ uses there own software instead of Mach 3
- PoKeys57CNC as both an Ethernet and USB interface and support both Mach3 and Mach4
Ethernet Port control Boards
These use the computers LAN port (RJ45 port) to connect to a controller board that . SmoothStepper from Warp9 are probably the best known and the do a USB version as well. A little bit more involved to configure but the documentation is very good.
Mach4 is the latest version and is supported on 32bit and 64bit Windows operating systems and will run on all versions of Windows from XP to Wndows 10. You will need to use a motion controller card as discussed above such as a USB or Ethernet controllers.
Mach3 is quite old now and has not had any updates for a few years now. The reason for this is that Windows is not a Real Time Operating System and there can be issues with CPU timing. When other tasks cause interrupts it can mess with the steps pluses need to run the cut. It gets more pronounced when to try to run the system faster. By using a specialized controller interface as discussed above, the timing and pluses are now all done on the controller interface. So Mach3 is really just sending the g-code.
If you do use Mach3 then don’t run anything else on the computer that may interrupt it. Mine isn’t connected to the internet and has no anit-virus installed. I also disable lots of unnecessary service and its been very reliable.
Jedicut is an open source solution designed especially for 4 axis foam cutting and interface with the controller. There is a USB option. If you’re on a limited budget this is certainly a good option. I’ve download the software but haven’t used it yet. I will try it out on my machine and post another article.
LinuxCNC is another pieces of software that you can use instead of Mach3 but it doesn’t have a USB but you can use Anything I/O boards form http://www.mesanet.com/ This is a Real Time Operating system and doesn’t have the issues Mach3 does with CPU timings and interrupts . I’ve included it here because its open source and again if you’re budget is limited then is a good option. I have briefly tried it and did get it to work but I found Mach3 was a bit easier and I was in a rush to get my foam cutter machine working. I now have my OX cnc router working with LinuxCNC and will do an update on that.
I’m going to do another post soon on how to build a CNC Hot Wire machine using only free software and produce a wing from start to finish. I’ve spent a lot of money on software so if your budget is limited then this will get you going.
|Use and old desktop PC with a parallel port||Cheap, tried and tested||May be harder to get as time marches on|
|Use a newer desktop PC with a parallel port add-on card||Cheapest option if you already have a more recent desktop PC||Some adapters have been known not to work e.e. 3.3 Volt version|
|USB to Parallel converters||Supported my Mach3||More expensive than the above needs to use good quality USB cables|
|USB controller boards||Works with modern PC’s but Mach3 will only be supported on up to Windows 7 32bit.||As above and can be more expensive unless you opt for a Chinese offering. Support for boards supplied from USA and Europe may be better|
|Ethernet Port control Boards||Electrically isolates your PC from your CNC equipment. This means noise and voltage spikes from your motors will not flow back into your PC||Needs to be powered from an external supply,|
As you can see there is a lot to consider and your choice really depends on how much you are willing to spend and what equipment you have already.
It you a looking to get into CNC and have an old desktop , then I would chose one of the kits with a parallel board otherwise I go for a USB kit as listed above.
One thing to remember is that Mach3 requires a license otherwise it just stops after 500 lines of G-code. If you are able then I would suggest for long term use and support Mach4 with a motion controller is going to be a better choice. LinuxCNC is another good option as well.
I haven’t covered every possible solution here but ones that I feel are within the reach of us hobbyist. If you know of a product that works well and is affordable then please let me know and I’ll add to the article.