[solved] Sainsmart LCD Keypad Shield hardware bug!

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.

:angry:

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

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).

RIN67630:
That's a completely different issue addressing the control of the backlight through D10.

But it is meaningful.