Creative Commons images are CC BY-NC-SA 3.0

Description: Do you need an easy to use interface for your LCD screen? The LCD Button Shield V2 attaches to your Arduino to provide a 16x2, black character, green back light LCD with a keypad consisting of 5 keys — select, up, right, down and left. With this shield you will be able to move through menus and make selections straight from one board attached to your Arduino without requiring a massive tower of shields.

The LCD Button Shield V2 works perfectly in 4-bit mode with the “LiquidCrystal” library found in the Arduino IDE, using this library will allow you to control the LCD with only 6 digital I/O lines. Version 2 of this shield provides you with the capability of pushing multiple buttons at once and combining the results. No longer will you be restrained to only 5 inputs, now you have the ability to make use of 32 different button combinations!

Check the LCD Button Shield V2 Wiki link is the Documents section below for example code, schematics, and additional information.

Note: Headers are included with this shield but not soldered on.


Recommended Products

Customer Comments

  • I’m interested in using this with a SparkFun Photon RedBoard. The Photon runs at 3.3v, but it looks like this LCD shield uses 5v (per schematic). Can I modify it to use 3.3v, or does it need all 5v?

  • Are you really supplying stackable headers with this? :-) (Stackable like in “I want to place another shield on top of this”…)

    • cheap perfboard with a window cutout makes for a quick and easy front panel :D
      I suspect the headers are more for access to pins for testing, and if you’ve got umpteenthousand stackable ones in inventory, you might as well use them ;)

    • The stackable headers are useful if you are prototyping with a breadboard.

  • “capability of pushing multiple buttons at ones” should be ‘once’

Customer Reviews

4.3 out of 5

Based on 3 ratings:

5 star
4 star
3 star
2 star
1 star

1 of 1 found this helpful:

Quick And Simple LCD Shield

This is my first shield to go along with my first Arduino board (SparkFun RedBoard), and it was a good choice. For those somewhat new to electronics and Arduino, this shield is quite easy to understand. The sample code is a different story. Keep in mind you will need to solder on the headers to attach this shield to an Arduino.

All of the buttons have a different value resistor tied to ground and analog pin A0, which should give you a different value if you analogRead() pin A0. This keeps the analog pin usage to a minimum, as well as allows you to push more than one button at a time (which may not be that useful with this button arrangement). You can also set the LED backlight brightness by writing via analogWrite() to pin 10 a value of 0 to 255 (this outputs a PWM signal at a duty cycle defined by your input value).

The quality of this board is pretty good, but my OCD kicked in when I saw the LCD soldered in not completely straight. The stackable headers are not useful for stacking something on top of the LCD, but are for breadboard prototyping.

The price is good, seeing that the same price only gets you a SparkFun branded display on this site. Overall, I would recommend this shield to anyone.

Would be excellent if there were better documentation

LCD + menu buttons = Just what I needed.

As this is the top shield for a project, I ditched the included headers and used break-away male headers with the pins pointed downward and soldered on the top of the board. No female connectors but no lost as far as my project is concerned.

The wiki offers sample code with little to no documentation and that code is wrong, at least for this version of the board. There’s no way to change the wiki so I’ll just leave this here:

There are some magic #define’s at the top that set values for Rbase, Rup, Rdown, Rleft, Rright, and Rselect. These values are the resistor values (in K Ohms) attached to the respective buttons but they are wrong, at least for V2 of the board. A quick glance at the schematics will show the the correct values should be:

Rbase : 10 Rup : 100 Rdown : 75 Rleft : 51 Rright : 39 Rselect : 15

This will get the code to work correctly and help you see what’s going on.

Apart from the documentation, If there were one thing that would like to see it would be some type of button extenders (silicone? plastic caps?) that would allow this to be mounted in a box.

LCD Button Shield

The first one has been working great! Take care with your soldering!