Atmega328P hardware UART: RFID reader on RX, Serial Monitor on TX

I'd like to use the hardware serial port for my RFID reader, the ID-20LA from Sparkfun. It outputs a nice tag reading to TTL on my UNO's RX pin.

I'd also like to use the TX serial port (the TX from the UNO) to send events to my laptop for debugging. I won't be sending data TO the UNO on the serial port.

I will be disconnecting the RFID reader anytime I'm uploading my sketch. Are there any other reasons I should have a problem with this. It works in a bench test, but I'm making a custom PCB, and installing in an application that I don't want to sporadically fail. Thanks,

RFID Reader from Sparkfun


That's okay. You can even add a SoftwareSerial port and mix all the RX and TX as you like.

A Serial port to a device (that needs both RX and TX) can be the RX of the hardware UART and the TX of SoftwareSerial. There is no reason to keep RX and TX together. Only the baudrate setting is the same for RX and TX of course.

Other solutions: Add a SoftwareSerial port, or AltSoftSerial, or use a ATmega32U4 (Arduino Leonardo or Micro) which has one spare hardware serial port or a ATmega2560 which has three spare hardware serial ports. Adafruit seems to like the Leonardo compatible ATmega32U4, for example with this:

Thanks for the info. That's good to know.