Sinking current on TXD and RXD while using FTDI?

On the UNO, the USART I/O data pins TXD and RXD of the on-board Mega328 are sensed and used to turn the TX and RX LED's on and off. The alternate port function forces these pins to OUTPUT for the TXD and INPUT for RXD

In a standalone Mega328 circuit using FTDI the FTDI pins 5 (TXD) and 4 (RXD) are normally HIGH when no data is being sent on the programming cable. By placing the cathodes of LEDs on these pins (and using appropriate resistors) a good indication of data transmission can be had since the LEDs blink on when the pins go low.

Presumably the LED current is being sunk by a combination of the UART (in the cable) and the PD1/PD0 pins of the target chip. Scoping the signal I can detect a very slight increase in ring but otherwise no signal degradation or loss.

I can't find any reason in the Mega328 data sheet to indicate this is a bad idea. Is there something I'm overlooking?

Only an OUTPUT pin can sink current, and it is safe to sink up to 20 mA total on the Arduino side.

Check the data sheet for limitations on the FTDI adapter output pin.

CopperDog:
In a standalone Mega328 circuit using FTDI the FTDI pins 5 (TXD) and 4 (RXD) are normally HIGH when no data is being sent

The Atmega328 Tx pin is held HIGH by the Atmega328 but the Rx pin (which is an INPUT) is held high by the Tx pin of the device connected to it.

...R

Good point that only an output can sink which means the FTDI cable is sinking one LED and the target Mega the other.

We’re not talking much current here. A couple of chip LEDs on 5V and a 1K resistor are only going to draw about 4 mA in total.

I had the same reservation about the fact that the SPI SCK line is on D13 on my Nano , which is connected to the onboard LED through a 1K resistor. That's not something I would have done on a fast clock line, but apparently there are no problems.

ShermanP:
I had the same reservation about the fact that the SPI SCK line is on D13 on my Nano , which is connected to the onboard LED through a 1K resistor. That's not something I would have done on a fast clock line, but apparently there are no problems.

Hmm, that's encouraging. I'm sure we're not the first to have this question.

The Arduinos sense the lines and just do the Tx/Rx LED s with code. I really can't see an issue with this method. Unfortunately it's only valid for the FTDI cable and I'm putting an ICSP header on the board as well. Thought about using a logic chip to deal with it.