Adafruit Industries i2c 16x2 RGB Pi Plate User manual

Adafruit 16x2 Character LCD + Keypad for Raspberry Pi
Created by lady ada
Last updated on 2014-07-24 04:15:09 AM EDT

2
3
6
6
6
6
7
7
7
7
7
7
9
25
28
28
29
29
30
30
32
Guide Contents
Guide Contents
Overview
Parts List
1) Resistors
2) Potentiometer
3) Pushbuttons
4) i2c Port Expander Chip
5) Male Header Pins
6) Printed Circuit Board
7) Raspberry Pi Plate Header
8) Bumper
Additional
Assembly
Model B+ Protection
Usage
Setting up your Pi for I2C
Using the example Python code
Testing the Library
Adjusting Contrast
Using the library code
Download
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 2 of 32

Overview
This new Adafruit plate makes it easy to use a 16x2 Character LCD. We really like the range
of LCDs we stock in the shop, such as our classic blue & white (http://adafru.it/181) as well
as the fancy RGB negative (http://adafru.it/399) and RGB positive (http://adafru.it/398).
Unfortunately, these LCDs do require quite a few digital pins, 6 to control the LCD and then
perhaps another 3 to control the RGB backlight for a total of 9 pins. That's nearly all the GPIO
available on a Raspberry Pi!
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 3 of 32

With this in mind, we 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 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.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 4 of 32

This 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 kit is designed for any Raspberry Pi - version 1 and 2.
If you want plug in a Cobbler or Gertboard at the same time, check out our Stacking Header,
you can fit an IDC cable over it if the Plate is assembled with this part. (http://adafru.it/1112)
WARNING: The new Raspberry Pi model B+ with 4 USB ports overlaps closely with
backlight resistor leads on the char LCD plate. You will need to cover the USB port and
back of resistors with electrical tape to protect them from touching. See more details
and pictures on the assembly page of this guide.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 5 of 32

Parts List
Check to make sure your kit comes with the following parts.Sometimes we make mistakes
so double check everything and email support@adafruit.com if you need replacements!
We recently adjusted the kit so the buttons are on the RIGHT side instead o f
the left. The parts list is otherwise the same, its just a little more stable than
before
1) Resistors
There is a total of 3 resistors in this kit. For resistors labeled RED and BLUE on the PCB, they
are 1/4W 5% 220 ohm resistors (Red, Red, Brown, Gold). For the resistor labeled GREEN on
the PCB, it is a 1/4W 5% 330 ohm resistor (Orange Orange Brown Gold).
2) Potentiometer
There is one 10k trim potentiometer. This part will go in the spot labeled Contrast
3) Pushbuttons
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 6 of 32

There are a total of 5 x 6mm tactile switch pushbuttons. These will be used in the UP, DOWN,
LEFT, RIGHT and SELECT locations on the PCB.
4) i2c Port Expander Chip
There is one of these MCP23017 i2c (16 input/output) port expander chips in the kit. This is
how we are able to only use 2 R-Pi pins to run the entire LCD and buttons. Click here for more
info on this chip. (http://adafru.it/732)
5) Male Header Pins
There is one strip of 36 male header pins in the kit. These will be used to attach the LCD to
the PCB.
6) Printed Circuit Board
There will be one PCB in the kit as shown above.
7) Raspberry Pi Plate Header
There will be one extra-tall 26 pin female header for plugging into the Pi
8) Bumper
There will be one rubber bumper as shown above
Additional
You'll want an LCD to place into the shield. This isn't included by default since a lot of people
already have LCDs they may want to use. (We do sell these in packs however so chances
are you did get an LCD with your order).
Your LCD may have 16 pins (Monochrome) or 18 pins (RGB) and may have 2
rows of connectors or one. This is normal and does not affect the display
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 7 of 32

You can also use 16x2 LCDs that are the same size that do not have an RGB
backlight, or have no backlight at all.
We carry Negative type (http://adafru.it/399) or Positive type (http://adafru.it/398) LCDs as
well as Blue and White LCDs (http://adafru.it/181)
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 8 of 32

Assembly
Check the kit against the to verify you have all
the parts necessary
We recently adjusted the kit so the
buttons are on the right side instead of
the left. The parts list is otherwise the
same, its just a little more stable than
before
Put the printed circuit board into a vise or board
holder, heat up your soldering iron and make
sure you're ready to go!
We'll start with the first resistor GREEN - which
has orange, orange, brown, gold bands on it.
This resistor acts as the backlight control
resistor for the green backlight pin.
Bend the resistor into a 'staple' and slide it into
the slot marked GREEN on the PCB. Resistors
do not have a direction so you can put it in
'either way' and it'll work find.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 9 of 32

Bend the 'legs' of the resistor out so it sits flat
against the PCB and flip it over.
This way the resistor won't fall out while
soldering.
With your soldering iron heated up and ready,
solder in both leads of the resistor. To do this,
heat up the round ring pad and the wire lead at
the same time for 2 or 3 seconds, then dip the
end of the solder into the heated joint to melt it
in.
Then remove the solder and the soldering iron.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 10 of 32

Once the soldering is complete, we can clean
up by clipping the leads of the resistor. This
keeps them from shorting to something else.
Use diagonal or flush cutters to clip the wires
right above where the solder joint ends.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 11 of 32

Since you did so great with the first resistor,
we'll place all of the rest now at the same time.
The two 220 ohm resistors RED and BLUE -
named because they are the backlight series
resistors for the RGB backlights on the LCDs.
These resistors are colored Red Red Bro wn
Gold.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 12 of 32

Solder the resistors just like you did with the
first one.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 13 of 32

Clip all the leads.
Next up we will place the buttons. These
buttons are useful to send a signal to the Pi
(say if you have a basic menu system). We
have a 4-way 'direction pad' for
up/down/left/right input and a button to the
right called SELECT. These 5 buttons should be
able to make 'talking' back to your project
easy. These are connected to the I2C port
expander chip so they require no extra pins on
the Pi, our library does the work of reading
whether they are pressed.
All the buttons are the same, and they should
snap nicely into place. Press down onto each
button until it snaps in and sits flat against the
PCB.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 14 of 32

We recently adjusted the kit so the
buttons are on the RIGHT side instead
of the left. The buttons snap in the
same but they're on the right
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 15 of 32

Flip over the PCB and check that all the legs for
the buttons are sticking out.
Solder each leg, taking care not to accidentally
'short' two button legs together. The ones for
the directional pads are very close!
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 16 of 32

Next, place the 10K potentiometer (the orange-
faced thing with three legs) into the spot above
the RESET button. It will only fit one way. This is
the contrast potentiometer which will adjust
how dark the characters appear. All displays
are slightly different so you'll adjust this once
the display is soldered in.
The kit may come with two potentiometers - a
big blue one for breadboarding the LCD and a
smaller orange one for the shield kit. You can
throw away or recycle the blue one, use only
the orange one here!
We recently adjusted the kit to have the
potentiometer in the center rather than the
right, goes in the same way, just in the middle!
Flip over the PCB and solder in the three legs of
the potentiometer
We're nearly done! Now we will place the I2C
port expander chip. Double check that it has
the MCP23017-E/SP marking on it. This is a
16-pin expander chip, that uses the i2c bus.
That means you can send it commands using
the i2c pins on an Pi and control 16 more digital
pins! 5 of those pins go to the buttons, 6 go to
the LCD control and 3 are used for the backlight
(the remaining 2 are unused).
Unlike buttons or resistors, chips do have a
direction and the must be put in the right way!
First, use a flat table to carefully bend the legs
of the chip so they are parallel. Then slip it into
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 17 of 32

the silkscreened outline so that the notch at the
end of the chip is on the right. Click the image
to the left to make absolutely sure you've got it
in the right way. Once you are sure, press the
chip into place
We recently adjusted the kit so the chip is
more to the left, its the same alignment, just
shifted over
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 18 of 32

Flip over the PCB and solder in the 28 pins of
the port expander.
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 19 of 32

Next we will attach the header, there is a
standard 'extra tall' header included in the kit.
However, if you want to attach a cobbler or
GertBoard, etc to the plate, you may want to
opt for one of our stacking headers, they're
extra long so you can plug in an IDC cable on
top!
Before we solder in the header, remove the
bumper from the backing and attach it on the
underneath so its right over the Ethernet jack
when the PCB is plugged in.
On kits where the buttons are on the left, put it
right below the contrast pot, as shown. This will
keep the pot from touching the Ethernet jack.
On kits where the buttons are on the right, put it
right next to the buttons (it shouldnt overlap
any button legs) sitting flat
© Adafruit Industries https://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-
raspberry-pi Page 20 of 32
Table of contents
Popular Keypad manuals by other brands

Speco
Speco SG-WM200 instruction manual

Bosch
Bosch D1265 quick guide

Lenze
Lenze E94AZKAE operating instructions

Umbrella Mesh Network
Umbrella Mesh Network Umbra UM-305E Extended Programming Guide

Overhead door
Overhead door ALLSTAR quick start guide

Securam
Securam SafeLogic Basic EntryPad operating instructions