NOTE: The LiquidCrystal library has undergone revisions after Arduino version 0016. Thanks to Limor Fried for the rewrite to include 4-bit and 8-bit modes and more functionality. These notes refer to the version that's current as of Arduino 0017.

Other LiquidCrystal Library Examples

  • Hello World - displays "hello world!" and the seconds since reset
  • Blink - control of the block-style cursor
  • Cursor - control of the underscore-style cursor
  • Display - quickly blank the display without losing what's on it.
  • Text Direction - control which way text flows from the cursor
  • Autoscroll - automatically scroll new text
  • Serial input - accepts serial input, displays it
  • SetCursor - set the cursor position
  • Scroll - scroll text left and right


  • LCD RS pin connected to digital I/O pin 12
  • LCD enable pin connected to digital I/O pin 11
  • LCD pins D4 - D7 connected to digital I/O pins 5 through 2, respectively
  • LCD voltage and ground connected to +5V and ground
  • LCD Vo pin, which controls the contrast, connected to a potentiometer. Adjust the potentiometer to get the text to display at the contrast ratio you want.

Note: This wiring diagram is different than the one for previous versions of the LiquidCrystal library. The R/W pin is connected to ground, and the Enable pin is moved over to pin 11, saving you one I/O pin for other uses.

click the image to enlarge

image developed using Fritzing. For more circuit examples, see the Fritzing project page


click the image to enlarge