This is an old revision of the document!
Published 15 Oct 2026
Xc4454 LCD Keypad Shield
| Shield Description | |
|---|---|
| Model | XC4454 |
| Manufacturer | made in China |
| Brand | Duinotech |
| Clone of | DFRobot LCD Keypad Shield (2009) |
| Arduino compatibility | Uno |
| Type | LCD with keypad |
| Voltage | 5V |
| Current | |
| Software | |
| Arduino pin usage | |
|---|---|
| D9 | E |
| D8 | RS |
| D7 | DB7 |
| D6 | DB6 |
| D5 | DB5 |
| D4 | DB4 |
| A0 | Buttons |
Andy Gock mentions on his library page a flaw in the design of the backlight control : “when pin 10 is set to output, and set high, it could cause the IO pin of the MCU (the main Atmel chip) to deliver too much current (over the datasheet’s maximum rating)”. To avoid this:
To turn the backlight on, set pin 10 as input. To turn the backlight off, set pin 10 as output, and immediately set output low (never high!)
From the published schematic I can see that the Arduino D10 drives the base of a transitor directly (with no current limit resistor), this may be the problem he describes.
Suggested fix and light level control.
https://www.instructables.com/Arduino-LCD-Backlight-Fix/
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International