I'm quite excited about Adafruit's new RGB LCD + Keypad Pi Plate which:

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.


The kit is offered with 3 different LCD options:


RGB Positive 16x2 LCDRGB Positive 16x2 LCD  (colored background; this is the model I assembled and pictured here)

RGB Negative 16x2 LCDRGB Negative 16x2 LCD (colored text)

Blue & White 16x2 LCDBlue & White 16x2 LCD


Any of the above models are:

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.


Here's the demo program which displays text on the LCD and then changes the backlight color according to which button is pressed:




Unfortunately, it was hard for me to capture all the colors accurately with my smartphone camera.  In person, the contrast is better and backlight color is truer.  Here's another demo program which cycles through the different backlight colors:



The Raspberry Pi and the LCD Plate are inside the Adafruit Pi BoxAdafruit Pi Box in "convertible" mode (the top of the Pi Box is removed).  Here's a side profile of the Pi Plate to give a sense of its height:



Be sure to checkout the tutorial for the LCD+Keypad Pi Plate in the Adafruit Learning System.  One important note from it is:

If you have a rev 2 (512MB) Pi, or if you're not getting anything displaying, it might be due to the I2C bus number change in the Pi hardware. Edit Adafruit_CharLCD.py using a command like "nano Adafruit_CharLCD.py" and change the line


lcd = Adafruit_CharLCDPlate(busnum = 0)


lcd = Adafruit_CharLCDPlate(busnum = 1)


Here's how I changed the busnum to 1 (as I have a Revision 2.0 512MB Pi):




I'm using Adafruit's execellent WebIDE for the Raspberry Pi (shown below), so my files are automatically committed to my BitBucket repository


To give a taste for how simple it is to interact with the plate, here is a snippet from the demo program:



I'm developing a Pi project that will send sensor data to Cosm for logging and graphing and am excited to use this LCD+Keypad Pi Plate as a basic user interface.