Thank you, doctor, for your diagnosis. This problem plagues me, as well. Not with AVR, but with an 8-bit computer of my own design (HD63C09) using an MC68681 UART. If my hobby computer is powered and then I hook the FTDI to the UART before plugging it into the USB on my PC, it resets the little computer. Same if I pull out the USB before removing the FTDI from the UART. This seems like a bad design. I’ve never had this problem with other USB-TTL interfaces.
I do something similar but just using a couple of diodes. As the UART only pulls low, I have the anodes connected to the RX sides, with a pullup from that side's power source. It does mean that the LOW pulse doesn't quite go to GND, but it's good enough :)
It'll work with short cables at low(ish) speeds, but it'll make the link more susceptible to noise / errors. If you start getting errors every now & then, that'll probably be the reason.
@@theantipope4354 I use this exclusively on PCB designs and have reached speeds of almost 1M baud between devices this way. Best to use Schottky diodes, but it saves board space and cost generally.
The issue is that none of the internal protection circuits will be powered, in theory, that is. However, in practice, that AVR will be powered via the GPIO pin and will probably run your program. 😄
Optoisolators are often too slow for comms work, plus they're way more expensive than OC/OD buffer chips, & in this kind of application, the pull-up resistors on the buffers take care of the voltage conversion for you.