LCD display too dim

Hello guys, I just bought an 16x2 lcd display and connected it to Arduino Mega and the characters work just fine with the Hello World example. Although the characters seem very dim. To read them you need to look at them from great angle and with no lights on. I am using an 1k ohm resistor if this makes any difference and i have checked for wiring errors. The strange thing is that if i take the lcd completly out of the circut and put it back in it will work just fine with some random characters appearing until it gets data from the arduino again. Then it goes back to dim. Any ideas?


Your power supply might be wrong. Your resistor might be wrong. Your wiring might be wrong. Your code might be wrong.

Have a look at the forum manual (click !), to find out how to successfully ask a question.

. . . And don't cross-post.

Duplicate deleted.

Checked power supply by connecting to usb charger for phone. Wiring and code is the same with the Hello World example. Does the pot resistance matter? mine is 1k ohm but it does work when the lcd gets errors and does not commute with the arduino.

Your wiring could be wrong but how can we help without seeing it?


Hi Frank.

The only thing i just learned form your last post in this thread, is that the resistor actually is a potentiometer. You didn't tell that before.

Did you understand any of the replies above ? Did you read the manual i linked to ?

I had similar problems with LCD display (sometimes it worked and sometimes it didn't; additional problems were: occasional flicker, display worked on Arduino Uno but not on Arduino Mega ADK). When the characters were not visible any more, I added I2C, changed the code accordingly - and all the problems miraculously disappeared ever since.

Try grounding the contrast-pin (pin 3). If you still have too low contrast, it might be an LCD with extended temperature range, and so it might require a negative voltage on the contrast-pin to give you adequate contrast.

If you want more help, post your code (In code tags!) - post a picture (or link) to the display you have and best, post a picture of the LCD connected to the Arduino (where we can see the wires clearly)

// Per.

Make sure that you have 220 ohm resistor connected on lcd pin 15.

indrek777: Make sure that you have 220 ohm resistor connected on lcd pin 15.

I'm not sure what your point is supposed to be, but on most "1602" displays you will find, resistor R8 (or very occasionally R9) has the value "101" corresponding to 100 Ohms, which means there is no need whatsoever for an external current limiting resistor for the backlight, unless it is already too bright. :roll_eyes:

The original problem here which frank20a - since blessedly departed from the forum - could never be bothered to confirm, is most likely the setting of the contrast control on pin 3.

A longstanding design blunder is to connect the contrast potentiometer - nominally 10k - to Vcc at one end resulting in a very limited useful range right at the ground end. It should only be connected as a variable resistor between pin 3 and ground, and the proper value for a potentiometer would be 1k. In general it is just as simple to try various common resistors in the range of zero - no resistor, a direct connection to ground - to 470 Ohms to find the best contrast setting. :sunglasses: