Due LCD Symbols


I’m using an Due board with TC1602d LCD. When i use the “hello,world” sketch it shows numbers and weird symbols at the start. If i dont write lcd.begin in the code, it does not show those symbols. Weird symbols can be seen in the picture.

The LCD that i’m using : PDF link

My IDE version is 1.6.4. I’m only using LiquidCrystal library.

My sketch is quite simple


#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(53, 48, 52, 51, 50, 49);

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16, 2);

void loop() {


Thanks for helping! @ghlawrence2000

Hi mnomer!

Welcome to the forums!

First you should include a link to the particular lcd you are using, second you should include your sketch, third you should say what libraries you are using, which IDE version, basically ANYTHING that would allow people to help you.



Note: In case this is not already obvious it looks like the OP (original poster) has responded to reply #1 by going back and editing his original post instead of responding with a ‘Reply’ (or else he has a crystal ball).

You are using a normal run-of-the-mill 16x2 LCD. If you omit the lcd.begin() statement then the default values will be used which are for a 16x1 display. The multiplex rate will be incorrect which will affect the contrast, the second line on the display will be unavailable, and I think the cursor positioning may also be affected.

We need to see a photograph of the display and a copy of the corresponding sketch that created that display. What you currently have in your revised original post is a sketch and photograph that do not match. Please do not edit that original post again, use the ‘Reply’ button .

Try the following sketch, which is the same as yours except that this one sends information to the display. Then take a picture that shows the resulting display so we can see what happens. We also need a picture that shows all of the connections between your display and your Arduino. I suspect that you have one or more errors in your data wire connections, most likely D6 and D7.

#include <LiquidCrystal.h>

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(53, 48, 52, 51, 50, 49);      // put your pin numbers here

void setup()
  lcd.begin(16, 2);                          // put your LCD parameters here
  lcd.print("hello, world!");
  lcd.print("it works!");

void loop()


First of all, i’m sorry. I did not know that i should “reply” to add those information.
Second, i wrote the code you shared and it gave me the output which is on “attach1”
Then ,like you said, i removed all of the connections and redo them. I also changed the output pins, spread them out a little and now it’s working perfectly(“attach2” is the picture).

Thank you so much for your help and your time.

It looks like you are all set.

If you ever have to send us another photo try to take the shot from further away and shoot straight down instead of at an angle. The problem with getting too close is that we can't see where all of the wires start and end. Shooting straight down from a distance gets rid of a lot of the parallax problems so we can more accurately determine which holes the wires are in.


And take it outside in full daylight (but not in direct sun). Use your zoom from a distance of at least a metre.