Mach3 Parallel Port Options

posted in: CNC, CNC Router | 0

What is Mach3

Mach3 is a piece of software that turns a Windobitws 32 computer into a CNC machine controller. Mach3 works on 32 bit PC’s up to Windows 7 with the parallel port driver, 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 in the day. 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,  LinuxCNC,and 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 oe Ethernet. 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.

cnc controller

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 US site.

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.
Warp9 USB smoothstepper

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
    CNC USB controller
  1. 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
  2. Planet-CNC board produce a range of boards this is there 4 axis USB uses there own software instead of Mach 3
  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.

Use Mach4

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.

Use Jedicut

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.

Use LinuxCNC

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   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, here’s my post LinuxCNC

Here’s my post on using LinuxCNC with for foam cutting which includes a video tutorial as well,


Option Advantages Disadvantages
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  get Mach4 with a motion controller is going to be a better choice.  LinuxCNC is good option as well , here’s a link to my post on getting started with LinuxCNC using a routerHot Wire CNC is here

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.

Happy g-coding

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.