I have a custom ARM Cortex M3 board that communicates with a Raspberry Pi 4 via UART. Only three wires connect the Pi to the MCU: Tx,Rx,GND. When the MCU power supply is turned off the device does not power down but draws 17mA from the Rx pin and is able to bring the 3.3V rail up to 1.7V which is enough to keep the MCU running, or at least prevent it resetting. Presumably this is via the protection diodes when the 3.3V supply is powered off.
The Pi and MCU run off independent power supplies but are mounted in the same chassis and share a ground. The UART cable is only 10cm long between them.
What is the correct way to isolate power between these devices while allowing UART communication? I don't require galvanic isolation, I just want to prevent the power supply backflow. Any suggestions?
I currently have 1kΩ resistors in series with the Rx and Tx lines which is keeps the MCU from powering from the Pi, however there is still current flowing to the 3.3V bus and I don't know if this will adversely affect serial data.
(Edit: I want to emphasize the general nature of this question. It is common to have push-pull interconnects between devices with interfaces like SPI, UART, or just GPIO bits. These all have the potential to feed power to an unpowered device via the protection diodes.)