# 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…

[HTML version](https://soldr.ai/docs/components/lcd-keypad-shield-1602)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

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&#x27;s DFR0009 sheet; the stocked shield&#x27;s maker is not confirmed.

Every value cites its sourceReference-design pinout

[Buy on Compoden](https://compoden.com/products/1602-lcd-keypad-shield-with-blue-backlight-for-arduino)

## 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&#x27;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](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20menu-driven%20thermometer%20with%20an%20Arduino%20Uno%2C%20a%201602%20LCD%20keypad%20shield%20and%20a%20DS18B20%20sensor): The shield uses D4-D10 and A0, leaving D2 free for the one-wire sensor. Runs on the Uno 5 V.
- [Alarm clock](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20menu-set%20alarm%20clock%20with%20an%20Arduino%20Uno%2C%20a%201602%20LCD%20keypad%20shield%2C%20a%20DS3231%20real-time%20clock%20and%20an%20active%20buzzer): 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](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20menu%20that%20switches%20between%20temperature%20and%20humidity%20on%20a%201602%20LCD%20keypad%20shield%20with%20an%20Arduino%20Uno%20and%20a%20DHT22%20sensor): 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](https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0009_Web.pdf), Introduction and Pinout table p.2)
- Using the wrong LiquidCrystal pin order: the sheet&#x27;s example is LiquidCrystal lcd(8, 9, 4, 5, 6, 7), which is RS, Enable, D4, D5, D6, D7 (source: [link](https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0009_Web.pdf), Library Explanation p.3)
- Plugging it onto a 3.3 V board: the operating voltage is 5 V (source: [link](https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0009_Web.pdf), Specification p.2)

## Not covered by the official source

- The stocked shield&#x27;s maker is not confirmed; the original maker&#x27;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](https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0009_Web.pdf) (the original maker&#x27;s LCD KeyPad Shield for Arduino SKU DFR0009 sheet; DigiKey-hosted copy)
