I don't know if it's been mentioned that some of the cheap Arduino UNO clones using the CH340G USB-Serial chip have a correctable design flaw!
They've fancied the board up by adding LEDS to the Tx & Rx lines, but in the process they've violated the ATmega328p Input Low Voltage limit on the RXD input, which is now only pulled down to about 1.7V instead of below 1.5V. This can cause intermittent serial operation.
The fix is easy enough...just remove either the Tx LED, or R7. This restores the full 0-5V swing.
HTH,
Steve