Connection port is 0.1″ pitch, single row for easy breadboarding and wiring
Pins are documented on the back of the LCD to assist in wiring it up
Single LED backlight included can be dimmed easily with a resistor or PWM and uses much less power than LCD with EL (electroluminescent) backlights
Can be fully controlled with only 6 digital lines!
Built in character set supports most English/European/Japanese text, see the HD44780 datasheet for the full character set
Up to 8 extra characters can be created for custom glyphs or ‘foreign’ language support
Comes with necessary contrast potentiometer and strip of header
For more information, check out this datasheet with useful stuff like the character map. To use with an Arduino, we suggest using our updated LiquidCrystal library. This one is faster, more complete, uses 1 less pin and is works with more LCDs.
To use, connect pin 1 (GND) to ground, pin 2 (VDD) to +5V, pin 3 (Vo) to the middle of the pot, pin 4 (RS) to Arduino pin 7, pin 5 (RW) to ground, pin 6 (E) to Arduino pin 8, leave pins 7-10 disconnected, pin 11 thru 14 (DB4-DB7) to Arduino pins 9 thru 12, pin 15 (BL+) to +5V and pin 16 (BL-) to ground. See For a detailed photo if you’re having difficulty
Then delete the old LiquidCrystal library in Arduino/hardware/libraries and in its place copy the updated LiquidCrystal library. Now in the IDE select the LiquidCrystal->CustomChars example sketch to see the image above! (You may need to adjust the contrast pot.)
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, or even use Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for MakeCode, CircuitPython, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
The library works nicely on my 4×20 LCD except when it wraps across lines. For example when I print “line1 line2 line3 line4 “, it displays as:
I modified the LCD4Bit library to solve this problem and add a few bells/whistles
hmm, that should be “line1 [followed by 15 space chars]line2 [ollowed by 15 space chars]…” oh yeah, HTML ignores extra whitespace.
“Do you have some tips how to identify displays like this”
They look like this and have formats like 8×2, 16×2, 20×2. They almost always have 16 ‘pins’ but sometimes 14. They have 5×7 fonts with space between each character. There is never an HD44780 chip on them since that chip isn’t manufactured anymore. They usually just have the usual black epoxy blob. The screw holes are pretty much a standardized spacing these days. They are also available in 16×4, 20×4, 40×2 and 40×4. The spacing between the 5×7 characters is pretty much a dead giveaway. If there is no 5×7 character areas you most likely have a graphical display. Those are cool too though.