Here's our tutorial on LCD Contrast Adjustment for the LCD & Keypad Shield, and most common LCD alphanumeric/character type LCDs used in Arduino projects.

The LCD & Keypad Shield uses a standard alphanumeric type LCD. The LCD has a contrast pin which can be adjusted by the area designed into the top right corner of the board.

LCD Contrast

The contrast of the pixels is adjusted by a voltage into pin 3 of these types of LCD displays:


The LCD contrast can be made higher by setting the contrast pin to a lower voltage. If your board has R1 on it (a 10K pullup), simply remove R1 with a soldering iron to do this. This is especially useful in colder temperatures or with lower voltage levels into the 5V pin of the board.


Fine adjustment:
Very fine adjustment isn't usually needed as our LCDs are a wide temperature range type, but if you would like to fine adjust your LCD contrast voltage there are two other methods:

  • Change the R1 and R10 resistor values to set your desired LCD contrast voltage. R1 and R10 form a common resistor divider to set the LCD contrast voltage into the display.
  • Place a 10K trimpot onto the VR1 footprint, removing R1 and R10, then adjust the VR1 trimpot to any desired contrast setting. We have an optional footprint to accept most common surface mount 10K trimpots like the Bourns 3314J type.

If your LCD contrast is still weak and R1 is already removed, check the voltage at the 5V pin into the LCD & Keypad Shield. Sometimes the 5V rail can be low from a weak USB port or cable source (less than around 4.6V) and the LCD pixels look weak when driven with a too-low 5V rail voltage.

For more detailed information the complete schematic of our LCD & Keypad Shield is available here.

That's all for now, thanks everyone and enjoy your projects!