Turning the LCD off on LCD Keypad Shield (dr. Robot)

Hiya there!

I am just working on a control unit for my pool heating. I do have the Arduino Duemil. and the LCD Keypad Shield from Dr. Robot. As i am not always watching the display during operation i do want to implement a timeout in the code for turning the display off till a key is pressed.

I found out and got Pin 10 (LED backlit) working in test mode propperly (key up = on, key down = off) But the text on the display keeps (even without backlit).

Is there a way to turn the LCD off via code or do i need a hardware switch?

Thx in advance for your help


When you say:

cyberdrive: Is there a way to turn the LCD off via code or do i need a hardware switch?

Are you meaning a way to turn off the pixels? If so the answer is yes:


Will turn off the pixels. And lcd.display(); will turn the pixels back on.

Now I must warn you about using the D10 backlight control. There is a design flaw in many of the lcd keypad shields out there that can damage the AVR chip when using the D10 backlight control. Read about it in this thread I wrote: http://arduino.cc/forum/index.php/topic,96747.0.html

The thread outlines the problem as well as both a hardware and software work around. But be careful and avoid using the backlight control until you verify that either your keypad shield does not have the issue or that you have done a proper work around. See the above thread for how to see if you board has the issue as simply being able to control the backlight with d10 does not indicate that there is no an issue.

--- bill

Huge THX for that info!

I just implemented the software workaround in the code. You could even see the change on the display, which is more "contrasty" now :blush:

So there isn´t a way to completely disable the LCD (because of power consumption) - i do need to check the infos at the displays only once / twice a day, so it would be a waste of power...


How are you powering the Arduino?
And does it need to run all the time to run the pool equipment?

The backlight is what consumes most of the power on the shield.
Once you turn that off, the LCD module should be consuming just a few milliamps (1-2) if that much.
If your shield has a power LED on it, the LED on the shield probably draws more power than
the LCD module. (when the back-light is off)
The simple pullup resistor (10k) on the reset pin on the AVR on the main board
will be drawing about 1/4 as much as the LCD module.

A much bigger source of power “waste” is if the Arduino board is being powered using the voltage regulator
which is used when using the power jack.
The higher the voltage above the target voltage (5v) the more power is wasted as the excess energy
is turned into heat.
And then there is the efficiency of the power supply powering the Arduino.

The biggest way to save energy will be figure out how to keep from loosing the heat in the pool
or how to say use solar heating vs gas or electric heaters etc…
— bill