Mach3/4 CNC motor control

Ok, I know this has probably been flogged to death but bare with me please.

the question is "Can I use my Arduino(XYZ) to interface between my steppers and Mach3/4."

I see there are a lot of searches on all sorts of pages about this with the results generally being "just use a USB breakout board, you don't need an Arduino".

While I understand that the processor is designed to be self sufficient in a way and I also understand that the board can be used as a "USB Breakout" by exposing/linking TX and RX lines, is there a way that you can set/configure/program the board (for argument sake Atmega) to expose the I/O pins as a rudimentary parallel port type breakout with set input and output pins to use with Mach3? I have seen that there are "MODBUS" terms getting thrown around but does that expose the I/O pins and if so, how does it address them? Mach3/4 has sections dedicated to MODBUS but then wont the Arduino processor need to deal with addressing items etc, meaning you do need it?

Please consider that I am not looking for the "best practice" as this would see me with a dedicated breakout board, not an Arduino and I agree with that advice. I am purely looking from an educational view of can it be done and if so, how?

Arduino --> use GRBL
Mach3 --> buy softstepper card - or parallelport card.
Or use LinuxCNC, get a decent Mach card, enjoy :slight_smile:

Grbl can certainly handle MACH 2 or MACH 3 g-code.

But GRBL itself is not 100 percent g-code compatible and should be considered as a "subset" of g-code due to the limitations of the processor memory.
Given that, you should expect not ALL commands will be available.

Mach 4 is not something I have used so I cannot speak to the reliability of an Arduino to handle that.

Best practice would appear to be a B.O.B. for USB usage.

Anything else see zwieblum comments.