LCD2004 20×4 Blue LCD Display

LCD2004 20×4 Blue LCD Display




The LCD2004 20×4 Blue LCD Display provides a 20 character x 4 line LCD with parallel interface for control by a uC.


  • LCD2004 20×4 Blue LCD Display
  • 1 x 16 Male header strip


  • 20 character x 4 line Blue LCD
  • 4-bit and 8-bit parallel interface
  • 5V operation

These displays are straightforward to use and are a great way to provide a user interface on many projects where you need more info than simple LED indicators or 7-Segment displays can provide since these are full alphanumeric displays with 4 lines of 20 characters each for a total of 80 characters which is a fair amount of info.  For an interactive display, pairing this type of display with a rotary encoder to navigate and select menu items on the display can provide a very nice user interface.

LCD Display

The display is composed of a 20 character x 4 line LCD display with a blue backlight and white characters.  Each of the characters are composed of a 5 x 8 dot matrix for good character representation.  Custom characters can be defined and used with the display.

The backlight has a VO (Display Contrast) input for connecting a potentiometer for adjustment of the contrast of the display for best viewing.  The potentiometer can be somewhere in the 10K-50K range and should connect between 5V and ground.  The wiper output of the potentiometer feeds the VO pin with a variable voltage that sets the contrast.  If this is not adjusted correctly the display may not show any characters or solid blocks may be displayed.

The backlight is powered off the A (Anode) and K (Cathode) pins.  Normally 5V is applied to ‘A’ and ground to ‘K’.  The backlight includes a 51 ohm current limiting resistor, so an external resistor is not required.

The backlight can go down to about 3.2V before it goes out.  It can be operated off the 3.3V line if a lower brightness is desired for the application.  The backlight can be driven by a logic pin using a transistor if PWM brightness or ON/OFF control is desired

Parallel Interface

This display incorporates an parallel interface that can operate using an 8-bit (byte) mode or a 4-bit (nibble) mode.  8-bit mode uses data pins D0-D7 and 4-bit mode uses the upper data pins of D4-D7.

In practice, the 4-bit mode is normally used as it saves 4 pins on the MCU and maximizing communication speeds with the display are generally not a concern.  The LiquidCrystal.h library makes the difference between using the two modes transparent to the user.

If it is desirable to minimize the pins used on the MCU even further, check out the version with an I2C interface down below which uses only 2 pins plus power and ground.

Module Connections

Connection to the display is via a 16-pin header.

1 x 16 Header

  • VSS =        Connect to system ground.  This ground needs to be in common with the MCU
  • VDD =      Connect to 5V.  This can come from the MCU or be a separate power supply.
  • VO =          Display contrast.  Connect to approximately a 20K potentiometer between 5V and ground to adjust contrast of the display
  • RS =           Register Select.  Selects the command or data register.  A logic LOW = Command, HIGH = Data.
  • RW =        Read / Write.  The display is a write only device.  This pin is grounded to keep it in write mode at all times.
  • E =              Enable.  This pin enables writing to the display when active LOW
  • D0 – D7 = Data pins.  D0-D7 used for 8-bit mode.  D4-D7 used for 4-bit mode
  • A =              Backlight Anode.  Connects to 5V.
  • K =              Backlight Cathode.  Connects to ground

Assembling Module

The module ships with the male header strip loose.  This allows the header to be soldered to the top or bottom of the module depending on the planned use or wires can be used to make the connections.

For breadboard use, put the headers on the bottom.  Soldering is easiest if the header is first inserted into a solderless breadboard to hold it in position and keep it aligned during the soldering process.