CNC Mach 3 Parallel port replacement

Home Model Engine Machinist Forum

Help Support Home Model Engine Machinist Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
The major change in Mach4 is that it uses a motion control device not the PC to do the realtime work. The most common device is the Ethernet connected SmoothStepper. Any function of a parallel port is long gone..
 
Maybe this is my problem? I don't have any special parallel port chord, just the regular one for that computer, I think it's for a printer.
To drive the Sherline controller I will probably have to buy a UC100 parallel port adapter?
Just to try them out, I used the trial version of Mach 3 and cambam. The lines of g code were limited but to cut simple shapes on a mill it worked great. Eventually I purchased the full version of Mach 3 and it has worked perfectly for me for a few years. When my XP computer died it was easy to find another one for free or for very little cost.
I converted my full size bridgeport to use stepper motors and made my own control box with a breakout board and motor controllers.
 
Hmm ... I haven't seen as pcmcia expansion slot on a laptop here in the US in at least a decade, maybe more. Have laptops sold in other parts of the world have continued to offer that slot?

<rant mode on>
As someone who once made a living working with / designing embedded systems ... I find it endlessly fascinating that the venerable parallel port continues to play such an integral role in both the Mach and LinuxCNC environments. It must be acknowledged that using a parallel port in this way started out as a hack workaround, a way to avoid the expense of a purpose-designed interface card. 30 years later, Ι see what appear to be sophisticated interface / break-out boards with ethernet interfaces ... where the "break out" seems to be little more than the reproduction of a parallel port. Meanwhile - even more of a hack - Windows is being used to drive the signals via real-time bit-flipping, despite the fact that Windows is not a real-time operating system, or at least not without yet more hacking. (Linux is not typically an RTOS either, though its open-source nature allows the design of custom real-time kernels.)

All that to say, I find it hard to understand why USB is viewed with suspicion in this equation, despite the fact that it is regularly used to convey real-time video, even in the lowly USB 2.0 standard. Yes, some buffering and a teeny bit of smarts is needed, but surely that is a much less difficult and expensive approach than continue to funnel everything through a completely outdated protocol which was never designed for the purpose in the first place!
<rand mode off>

Let me be the first to throw stones at my own remarks above: I do not have first-hand experience with either Mach# or LinuxCNC; this rant is based on what I have tried to learn as I have thought about building a system on either platform. It may be that I have completely misunderstood what I have seen as I have researched various options. Please feel free to throw stones as needed!
I would disagree that the parallel port still plays an "integral role" in the Linux CNC.
It can still be used, but alternative hardware is available.
Those PCI, PCIe and Ethernet cards do the signal work to the Motors and Sensors with an FPGA chip and are much faster than a parallel port.
(Occasionally? or most times?) Parallel port cables are still used. That leads to the misconception that it is a parallel port.
Further misunderstanding is created by the fact that an old parallel machine can be connected to those "FPGA card ports" without having to change the machine itself, so basically it can be used in the same way as a parallel port.

I have seen somesone doing a stand alone Linux CNC :)
 
Thanks for correcting my misunderstanding! I am pleased to learn that the real time bit flipping is being done on the controller board. But that still leaves me puzzled as to why USB is not used ... !
 
Thanks for correcting my misunderstanding! I am pleased to learn that the real time bit flipping is being done on the controller board. But that still leaves me puzzled as to why USB is not used ... !
Might be the severe lack of shielding available in usb cables.

See etherCAT (if I'm remembering how its written accurately) for use with at least plasma cutters but I think its at least becoming generic for machine tools - - - haven't researched that though!
 
Thanks for correcting my misunderstanding! I am pleased to learn that the real time bit flipping is being done on the controller board. But that still leaves me puzzled as to why USB is not used ... !
As I see it (but that is a good unhealthy dangerous half knowledge) USB is relative unstable and has its flaws focusing more on ease of use for the end consumers. Not so focused on safety.
The physical connectors are usually flimsy, I do not like the idea that a heavy machine that can easy brake all my bones relies on a "Mini USB plug" :cool: .
Sometimes a USB does weird things if another USB is plugged into the computer. e.g. I have a PC were I cannot plug my USB memory and mouse into the same hub on the mainboard?
I have never seen any industrial controller using USB for anything else than data transfer or printing.
 
Interesting - I've not seen that sort of instability from USB, but that may reflect the particular machine / os / peripherals I use. Over the years, I have experienced some instability in ethernet connections - as with any other protocol, the quality of cabling makes a big difference. Thanks to all for updating my information on this topic!
 
In an earlier post I posed the question asking how to solve the problem of using a 20 year-old computer with a parallel port running MACH3 and a SIEG KX1.
I don't recall getting a clear answer so my solution was as follows:- Continue with the parallel port on the KX1, purchase a spare computer with a parallel port running XP (I was told at the time of purchase that MACH3 required XP but I believe it runs under W10. I wanted a very small format computer and I use a Dell SX270 of which I have 2. I also have a larger format Dell which also has a parallel port.) I was told by the KX1 supplier that a USB to parallel convertor would not work correctly but I haven't tried this. I am sure that a PCIe card would work but it will not fit into my small format computer.
So I will continue to use XP and the parallel port in the knowledge that I have several computer fall back options.
I guess if its not bust don't fix it!
Mike
1695458522993.png
 
If your system is working fine, why change it. My computer was 27 years when I started having issues. I started using the computer as a controller in 2006 and it ran Mach3 flawlessly until just a few months ago. From 2006-2023 I didn't spend a single dime on it so I figured a new computer was well deserved. Now the lathe and mill are updated with a new computer, control panels with motion control boards and Mach4. Now I'm good for another 20 years.
 
If your system is working fine, why change it. My computer was 27 years when I started having issues. I started using the computer as a controller in 2006 and it ran Mach3 flawlessly until just a few months ago. From 2006-2023 I didn't spend a single dime on it so I figured a new computer was well deserved. Now the lathe and mill are updated with a new computer, control panels with motion control boards and Mach4. Now I'm good for another 20 years.

(Grin) - - - you might want to upgrade your software in somewhat less than 20 years - - - that just might push you to also updating the hardware - - - but get all the life you can out of the systems. No need to update just to update. (That's working hard to make other people money - - - I'm quite a bit more interested in making myself money - - - not so much for other people - - - unless I'm working for them.)
 
Hmm ... I haven't seen as pcmcia expansion slot on a laptop here in the US in at least a decade, maybe more. Have laptops sold in other parts of the world have continued to offer that slot?

<rant mode on>
As someone who once made a living working with / designing embedded systems ... I find it endlessly fascinating that the venerable parallel port continues to play such an integral role in both the Mach and LinuxCNC environments. It must be acknowledged that using a parallel port in this way started out as a hack workaround, a way to avoid the expense of a purpose-designed interface card. 30 years later, Ι see what appear to be sophisticated interface / break-out boards with ethernet interfaces ... where the "break out" seems to be little more than the reproduction of a parallel port. Meanwhile - even more of a hack - Windows is being used to drive the signals via real-time bit-flipping, despite the fact that Windows is not a real-time operating system, or at least not without yet more hacking. (Linux is not typically an RTOS either, though its open-source nature allows the design of custom real-time kernels.)

All that to say, I find it hard to understand why USB is viewed with suspicion in this equation, despite the fact that it is regularly used to convey real-time video, even in the lowly USB 2.0 standard. Yes, some buffering and a teeny bit of smarts is needed, but surely that is a much less difficult and expensive approach than continue to funnel everything through a completely outdated protocol which was never designed for the purpose in the first place!
<rand mode off>

Let me be the first to throw stones at my own remarks above: I do not have first-hand experience with either Mach# or LinuxCNC; this rant is based on what I have tried to learn as I have thought about building a system on either platform. It may be that I have completely misunderstood what I have seen as I have researched various options. Please feel free to throw stones as needed!
I did real time stuff back in the 70's and early 80's, most of what was critical then just doesn't apply to small machines in the home shop any more. We have crazy fast hardware, lots of RAM, tons of storage space, our processors back then couldn't overflow todays SSDs.

The parallel port isn't particularly popular anymore. LinuxCNC supports it, Mach4 has an optional add in to let you use one, but most folks I know use dedicated motion control hardware. Naturally when intended for use with stepper motor drivers it "looks" like a parallel port, or 3, or three. The signal generation is provided by an FPGA in the motion control device. Given that most of the driver hardware in the wild was step and direction plus was already equipped with a DB25 for I/O why would you refuse to support a default standard? As all the timing is controlled by the step generation device (Mesa, PMDX, Smoothstepper UCxxx, doesn't matter) the user interface is on the PC, but it's just sending higher level stuff to the motion control hardware. Makes using an RTOS on the end user machine sort of irrelevant given the speed and number of cores in modern machines,

The main problem with USB is noise immunity and some hardware not dealing well with 5V coming in on the USB port AND having power from elsewhere. On some arduino like controllers you cut a pin or travel to disable the device from being USB powered. This shows up more in the area of home build gRbl based solutions. Shielded cables and paying attention to cable routing are important, but it can be hard to find good USB cables rather than well marketed ones :)

Mach3 was a very clever hack to get motion control mostly working back in the early days. Great for it's time, but it's time has past. Loved my PDP's and VAXes, but their day is done too.

LinuxCNC on a machine that had a low jitter parallel port worked very well for the slower smaller machines at least. It ran my 4 axis sherline mill very nicely for years when I had a clock restoration business. Most of the folks I know or knew 10 years ago were not running large fast machines that needed or were capable of 200 inch/minute feeds or 500+ inch per minute rapids. Those who did got on the Mesa board interface bandwagon. Often not just for speed but because the larger machines were servo machines rather than stepper stuff.

Mach4 with my PMDX step generators works well on my Sherline 4 axis mill and on my G0704 conversion. Now that I'm retired I use them very little, but when still doing clock restoration lots of parts were made on them. I went to Mach4 to get better conversational and wizard support. after using linuxCNC for a few years.

Just to be a total heretic, in spite of having Mach4 up for two mills at the moment, I'd look hard at the turn key gRbl solutions if standing up a new desktop machine. I have a laser that's gRbl based, works great. Two routers both running ESP32 based gRbl all in one controllers. THere are multiple user interfaces available based on taste and application. Consider that they are fast, use a web OR USB interface, have 4 3.5 amp driver channels, PWM, 0-10V for VFDs, limit switches, extra I/O, probe support, everything most folks need to make a machine run well. All for around $200 to $250, less if you catch a sale. As the router world is full of 3D carving jobs, coordinated motion works well. These would make a good easy to stand up system combined with machines in the Taig and Sherline size, or anything else where 3.5 amp is all the current needed for the steppers. These do require a power supply, so it's not just a plug together deal, but it's quite close. Still a lot faster than building out a 4 axis controller from individual stepper drivers, step generator hardware, lots of chassis connectors, and all the rest of that fun. Even easier than a Gecko 540 and a dongle once you add in all the bells and whistles and still need to deal with Mach4 install and config.

With the growth of routers and lasers, there are a heck of a lot more gRbl based machines in use every day than Mach4 or LinuxCNC. Many more folks finding and fixing defects, and adding features. Not the right solution for big fast machines like rack and pinion servo based 5X12 routers or to retrofit a Haas (yet), but plenty good for most everything I've ever needed. Maybe I'm just lazy or simple minded, but this stuff is just a way to make parts for my projects, not some religious conversion thing that makes me carry on about some one true way.
 
I have two very old Dell Optiplex 780 desktops running Windows 7 and Mach3, one for my lathe and one for my mill. Several years ago the hard drive on one machine died, which forced me to look for a replacement,... I was pleasantly surprised to find a large selection of SSDs for very reasonable prices. I bought and installed two SSDs, one on each computer. Both computers now boot-up a bit faster, but the real benefit for me is knowing that I'll never have another hard-drive crash when I want to use my CNC machine.

For all those using old computers, like me, consider replacing your old spinning disk drives with a SSD while your old drive is still working. :)
 
I don’t know what an open loop is or what pin does what

For this conversation, open loop refers to a CNC machine being run by software, such as Mach3, which causes one or more axis on the machine to move, but has no way of verifying that the instructed move actually happened. Mach3 simply instructs a stepper motor to rotate some number of steps, it has no way of knowing if those steps caused the X, Y, or Z axis to actually move. More expensive CNC machines have built-in gauges that measure the position of each axis and report that position to the software; this is a closed loop system.

Make sense ?
 
Thank
For this conversation, open loop refers to a CNC machine being run by software, such as Mach3, which causes one or more axis on the machine to move, but has no way of verifying that the instructed move actually happened. Mach3 simply instructs a stepper motor to rotate some number of steps, it has no way of knowing if those steps caused the X, Y, or Z axis to actually move. More expensive CNC machines have built-in gauges that measure the position of each axis and report that position to the software; this is a closed loop system.

Make sense ?
 
...shortened quote...


With the growth of routers and lasers, there are a heck of a lot more gRbl based machines in use every day than Mach4 or LinuxCNC. Many more folks finding and fixing defects, and adding features. Not the right solution for big fast machines like rack and pinion servo based 5X12 routers or to retrofit a Haas (yet), but plenty good for most everything I've ever needed. Maybe I'm just lazy or simple minded, but this stuff is just a way to make parts for my projects, not some religious conversion thing that makes me carry on about some one true way.
I would not go for a GRBL base machine myself, because experimenting with sensors, manual pulse generators (MPG) and things like this is part of the fun. I learned the hard way that saving little on the hardware and spending many hours, just to figure out that the cheap solution cannot work, does not "cut it". (or it cut it wrong, which is also not good).
That is why I prefer the Linux CNC approach, because it allows extensions and use of all sorts of industrial equipment very easy. (not cheap, but reasonable)
GRBL (I also see Marlin and RepRap firmare used more and more for "non 3d printer") has its place and is "good enough" (quite sufficient) for a lot of entry level (standard) applications.

I think well worth giving a GRBL (or Marlin or RepRap ) based systems a chance. If they do what is required, they will be a reasonable option, in performance (opinion) and price.

With all the different, in parts religious, opinions it does not get easier to decide. ( You must use Linux CNC! :cool: 🎃 ).
I advise to make it work "good enough" with something that appears to be O.K. for you (knowledge, time budget, financial budget, interest).
A not optimized (whatever that means for your situation) system will make more chips than a suspended decision.
 
Last edited:
I have two very old Dell Optiplex 780 desktops running Windows 7 and Mach3, one for my lathe and one for my mill. Several years ago the hard drive on one machine died, which forced me to look for a replacement,... I was pleasantly surprised to find a large selection of SSDs for very reasonable prices. I bought and installed two SSDs, one on each computer. Both computers now boot-up a bit faster, but the real benefit for me is knowing that I'll never have another hard-drive crash when I want to use my CNC machine.

For all those using old computers, like me, consider replacing your old spinning disk drives with a SSD while your old drive is still working. :)
SSD can also fail.
My machine got an SSD upgrade last year (oldest, smallest cheapest SSD, well below 20USD).
This made a big improvement in the usability. (Windows XP)
 

Latest posts

Back
Top