The design of the Sainsmart LCD Keypad Shield is really stupid!
The keys are transformed into an analog signal through a resistor network.
OK so far.
But the hot line of the resistor network is hard-connected to Vcc instead of Aref.
So if you want to use analogReference=(INTERNAL) or analogReference=(EXTERNAL), the keys won't work!
I am looking forward to modify the shield, but it does not seem to be easily doable since the resistors are located behind the display.

I just do not want to modify the analogReference=(DEFAULT) on the fly, that is IMHO too dirty programming to circumvent a hardware bug.
Finally it could have been worse.
It took me 10 minutes with a minidrill to cut the wire and solder another one to Aref.
You need to lift a bit the display and cut the track right of R2:
Then you solder a wire close to R2:
And finally solder the wire on the other side to Aref:
Done!
Now my keys are recognised for every analogReference=(whatever).
Enjoy
1 Like
Paul_B
3
And you read this thread, didn't you?
Paul__B:
And you read this thread, didn't you?
That's a completely different issue addressing the control of the backlight through D10.
I am speaking about the keys reading circuit that won't work if you need analogReference=(INTERNAL) or analogReference=(EXTERNAL).