6 Solutions for Mach3 Obsolete Parallel Port Interface

posted in: CNC, Mach3 | 4

The parallel port has been discontinued on PC’s for several years now.  It was mainly used to connect a PC to a printer.  Mach3 was designed to use this port to send the step, direction pulse to the CNC controller and receive some inputs such as limit switches.  Mach3 is still very popular in the CNC world even though there is a new more modern version Mach4. 

So if you need a solution so you can still use Mach3 then this article list 6 possible options.  Many of the Chinese seller’s bundle in Mach3 with their CNC controllers that are supplied with a DB25 parallel port.

Mach3 Main Screen
Mach3 Main Screen

The 6 Solutions

These are the six solutions I’ll discuss and provide links to the hardware and software with the pros and cons. The solutions discussed I think should be affordable to most hobbyists.


The Mach3 software turns a Windows 32-bit computer into a CNC machine controller. It only 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 can be run on a Windows 10 64bit operating system with specialized hardware adapters. Details in the options below. It has some nice 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.

Technologies have advanced over time, and not only is the parallel port become obsolete, but the Windows codebase has changed to the point where it is sometimes very difficult to get the parallel port working with the Mach3 driver.

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.

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 anti-virus installed.  I also disable lots of unnecessary services and its been very reliable.

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.”

1 – Use an 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 or 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.

Mach3 OpenBuilds OX router
Mach3 on my Dell GX620 runs just fine

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.  I’ve made several wings and fuselages with it and also use it on my CNC router with a different configuration file.

tb6560 with parallel port connection

2 – 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 such as PCI Express (PCI-E) which may not be enough to drive the controller. The one in the link here is a 5 Volt version.

Check the link for details and prices on Amazon Single Parallel (SPP/PS2/EPP/ECP) Universal Low-Profile PCI card

3 – USB to Parallel converters

If you want to use USB and still have a parallel controller card this is probably the best option and well tried and tested with good support from the vendor.

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. Be careful there are quite a few clones of this much cheaper, but if you do some research you’ll find they often don’t work very well. Support will be poor or non-existent.

This board from Warp9 connects your CNC parallel controller and then to the USB port on the PC/Laptop

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 Break Out Board (BOB)

This option is very popular and allows you to run Mach3 on more modern hardware and its relatively cheap. If you already had a parallel break-out-board then you should without too much effort be able to swap this one in.


Click the image or here to see the latest prices on Amazon usually around $38 or £25

4 – USB controller boards

  • Using a dedicated board that then connects to separate driver modules and then the steppers. The 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
  1. TB6600 and TB6560  controller boards There are two types the all in one board in 3 and 4 axes or as a breakout board and stepper drivers separately.
  2. 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 their own software instead of Mach 3
  3. Another option is this from AliExpress http://s.click.aliexpress.com/e/LeEhmRQ
  4.  PoKeys57CNC as both an Ethernet and USB interface and support both Mach3 and Mach4

5 – Ethernet Port control Boards

These use the computers LAN port (RJ45 port) to connect to a controller board that. SmoothStepper from Warp9 is 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.

Another option is the CNCDrive UC400ETH which has good reviews and connects to your parallel port board.

6 – Alternatives to Mach3

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 Windows 10. You will need to use a motion controller card as discussed above such as a USB or Ethernet controllers. Check with NewFangled Solutions who are the developers for compatible boards and plugins.

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 from 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 your budget is limited this is a good option, here’s my post on LinuxCNC

Here’s another post on using LinuxCNC for foam cutting which includes a video tutorial as well, https://www.rckeith.co.uk/foam-wing-free-cnc-software/.

Arduino USB based Micro Controllers

These have become very popular as most 3d printers use a version of these and there are many add-ons that can be purchased relatively cheaply.  Shields are extension boards that plug into an Arduino Uno of Mega.  The 2 most popular are the CNC Shield and RAMPS which provide 3 and 4 axis stepper drivers. GRBL is the software that drives the boards,  The drivers can only supply at most 2 amps with cooling so you’re are limited to NEMA 17 and some specific NEMA23 stepper motors. There are ways to use higher amperage NEMA 23 or bigger but it requires separate drive modules and adapters.

I decided to build a new Hot Wire CNC Foam Cutter using an Arduino Mega and a RAMPS1.4 kit with NEMA17 stepper motors.  All the details are here and it works really well.


Once you go down the Arduino route then you’ll no longer be able to use Mach3.  There are a few options but one of the most popular is Universal Gcode Sender (UGS).  There is also software for Foam cutters check my latest release of the GRBL HotWire Mega 5X

Use and old desktop PC with a parallel port Cheap tried and tested Maybe harder to get as time marches on
Use a newer desktop PC with a parallel port add-on card The cheapest option if you already have a more recent desktop PC Some adapters have been known not to work i.e. 3.3 Volt version
USB to Parallel AdaptersGood to convert an existing parallel port board. UC100 gets very good reviewsWatch out for UC100 clones that are much cheaper. Many users have reported issues.
USB controller boards Works with modern PC’s. 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. Needs to be powered from an external supply. A bit more tricky to configure
alternative – Mach4 Works with PC’s and laptops No upgrade from Mach3 and needs a separate supported motion controller
alternative – LinuxCNC Free and can use Anything I/O cards Cards can be tricky to set up
alternative – Arduino Free and very affordable hardwareController software can lack some of Mach3’s additional capabilities.


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.

If you are looking to get into CNC and have an old desktop, then I would choose one of the kits with a parallel board otherwise go for a USB or Arduino kits 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.  LinuxCNC is a good option, here’s a link to my post on getting started with LinuxCNC using a routerHot Wire CNC is here although I still use it with the parallel port.

Arduino is a very good choice and because it’s so popular it has good support via the community and prices are good. 

I haven’t covered every possible solution here but ones that I feel are within the reach of most 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

4 Responses

  1. Jorrit

    Hi Keith!
    Thanks for this extensive article, already pretty helpful.
    However I’m having the following situation.
    Currently running mach 3 with cnc router on an old winXP 32-bit computer.
    Now changing to a new system with win10 64-bit for CAD reasons.
    Will option 3 – USB to parallel converter – suffice for 64-bit or do I need an additional BoB?
    As you might see, I do not have much knowledge of this topic but hopefully you are able to help me!
    Thanks in advance!

    • Keith

      Hi Jorrit
      It should be OK as long as you get the correct one. Generic USB to parallel adapters won’t work. The genuine UC100 is very good and I have seen quite a few good reports. Beware there are some fake Chinese ones about for a lot less money that don’t work very well. Seem quite a few issues with them on CNC forums.
      Hope that helps

  2. Jorrit

    Thanks Keith!
    So if I understand correctly, with the UC100 I am able to successfully run Mach3 on a 64-bit system, or do I need to change to Mach4 for that?

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.