Liquid Crystal LCD and serial monitor not playing well together On my Arduino Uno, when I'm not using the serial everything seems in order:
#include &lt;LiquidCrystal.h&gt;

LiquidCrystal lcd(1, 2, 4, 5, 6, 7);

void setup()
{
    // put your setup code here, to run once:
    lcd.begin(16, 2);
    lcd.clear();
    lcd.print(&quot;Prints&quot;);
    lcd.setCursor(0, 1);
    lcd.print(&quot;Well&quot;);
}

void loop()
{
    delay(1000);
}

However the moment I open the serial port with:
Serial.begin(9600);

The problem starts.
Clearing the LCD does not clear it but prints a character with 4 horizontal lines. Trying to move the cursor will print a different  unrecognisable character. Sending things to the Arduino via the Serial port prints gibberish on the LCD.

Any idea why? Is there a way to work with the LCD and the serial port simultaneously? I require the serial port in order to control the Arduino from NodeJS.
#include &lt;LiquidCrystal.h&gt;

LiquidCrystal lcd(1, 2, 4, 5, 6, 7);

void setup()
{
    // put your setup code here, to run once:
    lcd.begin(16, 2);
    lcd.clear();
    lcd.print(&quot;Prints&quot;);
    lcd.setCursor(0, 1);
    lcd.print(&quot;Well&quot;);

    Serial.begin(9600);

    while (!Serial)
    {
        ; // wait for serial port to connect. Needed for Native USB only
    }
}
    
void loop()
{
    lcd.clear(); // This will print 4 horizontal lines character instead of clearing
    delay(500); 
}
On an UNO pin 1 is one of the hardware serial pins.  You can’t use pin 0 or pin 1 for other things if you are using Serial in your code.
Even if you aren’t using Serial, you use pins 0 and 1 when uploading your code and having other things connected can mess up that process.  It’s generally advisable to stay away from pins 0 and 1 unless you absolutely must use them.