serial communication

I did actually download your image so I could read it properly - just because I was a little bit interested in the subject.

I can't say I understand it either. I assume GRBL is on some sort of Arduino - but it does not say what type.

I don't know why the commentary mentions the GRBL Arduino's USB connection because the Leonardo in the diagram is certainly not connecting to it.

It is certainly possible to connect two TXs to a single RX. Two problems need to be solved.

First is the technical problem that the idle state of a Tx line (from the Leonardo, and from the GRBL Arduino's USB-TTL converter) is HIGH and if there are a second signal pulling the line HIGH when the first one wants to pull it LOW it won't work. The 4066 is intended to solve that problem - but I wonder if it does it properly, because it cannot affect the signal line coming from the GRBL Arduino's USB-TTL converter.

The second problem seems to me to be more intractable. How can the Leonardo ensure that it never tries to communicate with the GRBL Arduino while the PC is trying to do so.

Assuming BOTH problems can be solved I guess there is no reason why the Leonardo should not send requests for data to the GRBL Arduino. However I have no idea whether that might interfere with GRBL's ability to smoothly move the stepper motors.

By the way there is no suggestion in all of this that the GRBL Arduino would be doing anything unusual at the level of its serial communication.

Also, I don't see anything to suggest that a Leonardo must be used but the Leonardo and Micro have the advantage of having a spare HardwareSerial port on pins 0 and 1 which would simplify the programming. A Mega has 3 spare HardwareSerial ports.

...R