Adding an LCD display to Arduino projects can add real value but the cost of doing so can be significant. Not a financial cost - you can pick up 16 (characters) x 2 (rows) LCD for as little as £3.50. The cost is the pin count it can take to drive them. Using the built-in LiquidCrystal Display library it can take as many as 6 pins! That does not leave much for your sensors, motors and other components.
There are many projects that discuss using alternatives - such as a much more expensive Serial LCD (£10 up). Other projects discuss using two-wire interfaces, increasing the complexity of your code. The simplest way to drive the HD44780 style LCDs, in my opinion, is to use a 74HC595 shift register, taking the pin count down to 3.
In any case, connecting an LCD either using the 595 Shift Register or the more traditional way takes a lot of wiring which is not only a super mess (unless you use a ribbon cable I guess), it takes time.
This shield is simplifies this process - all that is required is power and three wires back to the Arduino - ie. connect the LCD in under 6 seconds!
Step 1: Required Components
This is an extremely easy board to make and should take you no more than 15 minutes to solder up and have running.
1 x 74HC595 Shift Register
1 x BC547 NPN (or MOFSET or similar NPN)
1 x 10k Trimmer Potentiometer
6 x Male headers (I used right angle connectors)
16 x Female headers
Strip/Vero-board 17 strips x 13 holes (I used 15 for cable support)
Your soldering kit