Please Help Me Understand LCD Coding/Wiring.........

Hi Guys,

Thank you so very very much for your help. I Have mastered everything on the Arduino in regards to sensors, outputs etc… But i still cant wrap my head around LCD’s, and i am dying to learn even a simple
“Hello World” and i own 3 LCD’s all in the pictures. Can you guys show me what to do. I Am particularly interested in the keypad one, which says A1~A5, and the 5V and GND, i’ve managed to light it up with the power pins but the A1~A5 mystify me, obviously they are analog inputs? Cheers.

The LCD in the middle is the simplest one. It is a shield with LCD and buttons all in one. The A1-A5 just leads out appropriate pins from Arduino board. They can be analog but also digital. It depends on setting.

Ahhhhh, thanks champion. Can you please give me an idea, i mean, some sample code, and tell me what to wire in that one.?. Thanks from the depths of my heart.


Which Arduino? You need not any wiring in case of UNO or Mega2560. Look into libraries\LiquidCrystal for the examples also here on the forum include with circuit diagrams.
..and here is detailed info about your shield, everything you need:
Arduino 1602 LCD Shield

Hi Trentie89 - On your picture 'lcds.jpg', I see on the left a TFT screen 2.8 or 3.5 inch which might be a UNO shield. The one on the right is definitely a 2.4 (?) TFT UNO shield. Can you upload a picture of the backs of these TFTs?
TFT shields have different controllers. The back may give a hint as to what controller is inside. Look around for a sketch named 'graphictest_kbv' or check out David Prentice's entries on MCUfriend_kbv library on this forum

You should be aware that there are lcd keypad shields like the one you have that have a h/w issue with their backlight circuit. If you control the backlight using D10 and your shield has the h/w issue, it can potentially damage your Arduino board.
Read this thread for more information:
(you will see this thread at the top of the Display section of the forum)

If you use my hd44780 library package, it includes code in the library that will automatically avoid the h/w issue (if your shield has the issue) to avoid any potential damage to the Arduino board.

The hd44780 library package also includes a diagnostic test sketch, LCDKeypadCheck, that will test your shield and report if it has the h/w issue.
If you have the issue, you need to be very careful about controlling the backlight (see the thread I mentioned earlier for how to avoid the issue) or use the hd44780 library.

You can install the hd44780 library directly from the Arduino IDE GUI using the library manager.
You can read more about the hd44780 library package here: GitHub - duinoWitchery/hd44780: Extensible hd44780 LCD library
There is also some additional information in the wiki.

You will use the hd44780 i/o class hd44780_pinIO for your LCD keypad shield.
All the examples are preconfigured to use pin mappings that should work for your shield, so all the examples should "just work" out of the box with your lcd keypad shield.
Make sure to at least run LCDKeypadCheck to check to see if your lcd keypad shield has the h/w issue.

--- bill

Hey Guys,

I Am still a little confused, i don't have any R pins like the links you sent me.

So the LCD1602 Key Shield 1.1 All i see is the pins in the pics i uploaded....

Sorry to be a bother, but this is driving me nuts.

Hey Guys,

I Am still a little confused, i don't have any R pins like the links you sent me.

Huh? I don't understand what you are talking about.
The keypad shield simply plugs into your Arduino board, UNO, or Mega...

So the LCD1602 Key Shield 1.1 All i see is the pins in the pics i uploaded....

And that is the board referenced on the link that Budvar10 posted.

Note that if your board uses the same schematic as what is shown on the itead wiki, it has the backlight control issue. So be very careful if you decide to use backlight control. Dimming is not an option until the shield is modified as it could damage the Arduino.

--- bill

Ahh thanks fellas. I Am so confused, NOT now, i see, it plugs in. I Must have had a slow learning brain bit when it comes to LCD's. I''ve plugged mine in, the backlight has shown up, with about 17 squares(i mean bars).

So now to use bperrybap's Library because i don't want to fuck up my Arduino.

I'll get back to you! Cheers champions.


OK , bperrybap, I've got your library. I've installed it good. I've got my KeyPad plugged in, backlight up,
the example code you provided to print text is a little complex, remember i am a newbie at LCD, and i am
getting a barrage of error messages. Can you give me some clean cut simple ''Hello World" Code here?

Thanks Champion.

You haven't said what sketch you are running or are looking at.
Barrage of error messages?
The included hd44780_pinIO examples should "just work".

The LCDKeypadCheck sketch is quite complex, but that is not a normal sketch. It is a diagnostic sketch.
It isn't meant to be an example of how to use the library.

The hd44780 library hd44780_pinIO class also comes with several other examples including a HelloWorld sketch that shows a minimal example of how to use the library to initialize the LCD and print "Hello, World!".

Have you read the github page for more information?
What about the hd44780 wiki pages?

--- bill