The Adafruit Pi Plate makes it easy to use a blue and white 16x2 Character LCD. Some 16x2 LCDs do require quite a few digital pins, 6 to control the LCD and then another 1 to control the backlight for a total of 7 pins. That's nearly all the GPIO available on a Pi!
With this in mind, Adafruit wanted to make it easier for people to get these LCD into their projects so we devised a Pi plate that lets you control a 16x2 Character LCD, up to 3 backlight pins AND 5 keypad pins using only the two I2C pins on the R-Pi! The best part is you don't really lose those two pins either, since you can stick i2c-based sensors, RTCs, etc and have them share the I2C bus. This is a super slick way to add a display without all the wiring hassle.
New, Adafruit has updated this Pi plate so the buttons on on the right side, which makes it a little more mechanically stable
This pi plate is perfect for when you want to build a stand-alone project with its own user interface. The 4 directional buttons plus select button allows basic control without having to attach a bulky computer.
The plate is designed for both Revision 1 and Revision 2 Raspberry Pi's. It uses the I2C (SDA/SCL) pins. There is a special extra-tall 26-pin header so the plate sits above the USB and Ethernet jacks. For Pi Model B+ and Pi 2, the resistors sit right above the new set of USB ports. To keep them from shorting against the metal, a piece of electrical tape must be placed onto the USB ports.
This product comes as a kit! Included is a high quality PCB and all the components (buttons, header etc). A 16x2 Character blue&white monochrome LCD is included! Assembly is easy, even if you've never soldered before and the kit can be completed in 30 minutes. Check the product tutorial page for assembly instructions before purchasing You may get a 2-row or 1-row connector LCD, either will work fine.
There is some handy Python code to help you easily talk to the LCD and buttons You can also easily query the 5 keypad buttons to get input through the library, so you get extra buttons without using any more pins. The buttons are automatically de-bounced inside the library.
At this time, the code and plate can control the white backlight on or off. There is no support for PWM control of the backlight at this time, so if you need to have more granular control of the backlight, this plate can't do that (the I2C expander does not have PWM output).
Product page with tutorials, documentation and assembly information