1602 LCD keypad shield: specs and pinout
An Arduino shield with a 16x2 character LCD (blue backlight), five menu buttons read through one analog pin, a reset button and a contrast potentiometer. Facts here come from the original maker's DFR0009 sheet; the stocked shield's maker is not confirmed.
Specs
| Spec | Value | Source |
|---|---|---|
| Operating voltage | 5 V | source Specification (p.2) |
| Display | 1602 character LCD (16 columns x 2 rows), white characters on blue backlight | source Introduction (p.2) |
| Buttons | 5 keys (select, up, right, down, left) read through one ADC channel via a 5-stage voltage divider, plus a reset button | source Introduction and Specification (p.2) |
| Pins used by the LCD | D4, D5, D6, D7 (data DB4-DB7), D8 (RS), D9 (Enable), D10 (backlight control) | source Pinout table (p.2) |
| Pin used by the buttons | Analog A0 | source Introduction and Pinout table (p.2) |
| Contrast and backlight | Contrast potentiometer on board; D10 is the backlight control | source Introduction (p.2) |
| Dimensions | 80 x 58 mm | source Specification (p.2) |
Power
| Value | Source | |
|---|---|---|
| Supply | 5 V (from the Arduino board) | source Specification (p.2); no current figure is given |
Pinout
The pin table is from the original maker's DFR0009 documentation. The stocked shield may be a copy of that layout; its maker and any differences are not confirmed. The sheet text also mentions 6 push buttons, which counts the reset button.
| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| D4 | LCD data DB4 | 5 V | source Pinout table (p.2) | |
| D5 | LCD data DB5 | 5 V | source Pinout table (p.2) | |
| D6 | LCD data DB6 | 5 V | source Pinout table (p.2) | |
| D7 | LCD data DB7 | 5 V | source Pinout table (p.2) | |
| D8 | LCD RS (data or signal display select) | 5 V | source Pinout table (p.2) | |
| D9 | LCD Enable (starts data read/write) | 5 V | source Pinout table (p.2) | |
| D10 | LCD backlight control | 5 V | source Pinout table (p.2) | |
| A0 | Button select (select, up, right, down, left) | analog 0 to 5 V | Divider output; one ADC channel | source Pinout table (p.2) |
Build with it
Project ideas for the 1602 LCD keypad shield. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.
- Menu thermometer: The shield uses D4-D10 and A0, leaving D2 free for the one-wire sensor. Runs on the Uno 5 V.
- Alarm clock: The five keys set the time through the A0 divider; the clock uses the I2C pins and the buzzer uses a free digital pin such as D3.
- Humidity menu: The DHT22 data pin can sit on a free pin such as D2; the up and down keys change the page.
Common mistakes
- Using A0 for a sensor: A0 is taken by the five-button divider on this shield, so put analog sensors on A1 to A5 (source: link, Introduction and Pinout table p.2)
- Using the wrong LiquidCrystal pin order: the sheet's example is LiquidCrystal lcd(8, 9, 4, 5, 6, 7), which is RS, Enable, D4, D5, D6, D7 (source: link, Library Explanation p.3)
- Plugging it onto a 3.3 V board: the operating voltage is 5 V (source: link, Specification p.2)
Not covered by the official source
- The stocked shield's maker is not confirmed; the original maker's sheet is used as the reference layout.
- Net names are not checked against a schematic.
- Button voltage thresholds are not given; they depend on the board and should be measured.
Sources
- link (the original maker's LCD KeyPad Shield for Arduino SKU DFR0009 sheet; DigiKey-hosted copy)