LCD Shield Kit w/16x2 Character Display

We wanted to make it easy for people to add LCDs to their projects, so we devised this shield that lets you control a 16x2 character LCD, up to 3 backlight LEDs (red, green, blue) AND 5 keypad buttons using only the two I2C pins on the Arduino. You don't really lose those two pins either, since you can share the bus with I2C-based sensors, realtime clocks, etc. This is a super slick way to add a display without all the wiring hassle.

Plug-and-Play Compatible Boards

The LCD Shield is tested and fully compatible with the following boards:
  • Arduino Uno (all revisions)
  • Arduino Leonardo
  • Arduino Mega 2560 R3 (not R2 or earlier, see below)
  • Arduino Mega ADK
  • Arduino Duemilanove and Diecimila (all revisions)
  • Arduino Due (using latest library)
  • Adafruit Menta

Incompatible or Partially-Compatible Boards

This shield may work with other boards with some additional steps:

Arduino Mega 2560 R2

  • Add jumper wire from SDA or Analog Pin 4 on shield to pin 20 on Mega board.
  • Add jumper wire from SCL or Analog Pin 5 on shield to pin 21 on Mega board.

Pin and Address Reference

The shield uses the following pins:
  • +5V
  • GND
  • SDA and SCL (on boards that have these pins)
  • Analog pins 4 and 5 (see notes below)
This an I²C device (uses the Wire library) and can usually be stacked or shared with other I²C shields and devices, provided that each has a unique address. This shield has a fixed address of 0x20.

Do not use Analog pins 4 or 5 with your project in combination with this shield, even on Arduino boards that use different pins for I²C communication (Leonardo, Mega, Due). For compatibility with “classic” (pre-R3) Arduino boards, the shield connects SDA and SCL to Analog pins 4 and 5, respectively; communication and analog readings would mutually interfere. Leonardo users should likewise avoid Digital pins 2 and 3 when using I²C.

Untested Boards and Other Notes

  • Arduino Mega 1280: compatibility is likely similar to the Mega 2560 R2; extra jumper wires would be required.
  • Arduino NG or older: possibly compatible, memory constraints permitting.
If you have specific experience with this shield on the above boards or others, please use the Feedback & Corrections link at left. Thanks!

If experiencing trouble with a board listed as “compatible,” review the introduction for tips and visit the Adafruit Forums for assistance.
This guide was first published on Aug 14, 2013. It was last updated on Aug 14, 2013. This page (LCD Shield Kit w/16x2 Character Display) was last updated on Aug 22, 2019.