Warning to users of some vendors LCD keypad shields

For those wanting to test their shield for this problem, there is an easy test.

2017-11-04 Update:
The test below can cause damage to the lcd shield.
It is no longer recommend.
Use the test sketch, or the hd44780 library and its test sketch to test for the issue.
Refer back to the original post for details.


Remove the shield from the arduino.

Attach a wire to the D10 pin on the shield.
Hook up ground and 5v to the corresponding shield pins.

When power is turned on, the backlight should light.

Ground the wire going to D10, the backlight should go off.

Now for a simple test.

Briefly (and I mean just a brief touch) connect the wire from D10 to Vcc.
If the backlight, blinks when you touch the D10 wire to VCC, the shield
has this issue.

Do not set D10 to HIGH or use PWM on this shield unless you modify it.
You can still control the backlight .
First set D10 to LOW. (only need to that once)

Then set the D10 to OUTPUT for off and INPUT for on.

UPDATE: (2014-07-03)
It is possible that there is still an issue even if the backlight doesn't "blink" during
the above test. This could happen if the excess current draw isn't large enough to cause
a power issue for the backlight when doing the above test.
It is possible that the current demand is still way beyond what
an AVR pin can safely supply.
If this is the case, it might work a while but could end up frying the AVR over time.

The best way to test for an issue is to actually measure the current on the D10 pin when it is being driven high.
To do this, wire up the shield as described above but then measure the current between the D10 pin and VCC.
Set your meter for current with + probe going to VCC and - probe going to the D10 pin on the shield.
If you measure more than about 30ma, the backlight circuit has the issue.

--- bill