Go Down

Topic: LCD does not display (Read 239 times) previous topic - next topic


Hi all,

since yesterday I have my first arduino uno and connected a LCD / Keypad Shield "D1 Robot" to it. When I now tried several of the examples I found on the internet. Even if all were compiled and uploaded successfully, none of them showed anything on the display.

Then I tried a minimalist code like

Code: [Select]

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup () {
   lcd.begin(20, 2);
   lcd.print("Hello World !"); 
void loop () {

But also this didn't work. The display lights blue and a red lamp next to the "D1 Robot" text on the platine is shown.

Do you have any ideas what I'm doing wrong? Of course I can also provide more information, if you tell me, which.

Thanks and kind regards,

Thanks and kind regards,



When powered up, does anything show on the display?   Rows of black boxes for instance?

Is there a potentiometer for adjusting the display contrast?  Does adjusting it have any effect?


May 14, 2019, 11:43 pm Last Edit: May 14, 2019, 11:44 pm by Paul__B
Is there a potentiometer for adjusting the display contrast?  Does adjusting it have any effect?
Well, yes there is, it is at the top left hand corner of the shield and it is a ten turn pot so to get the top row of "blocks" to show you have to turn it a number of times in one direction.

When I get the one I have just ordered, or find the one in my old collection, I could tell you which direction it needs to be turned,  :smiley-lol:


Good Morning,

thanks to both of you. I just wanted to reply, that there's a potentiometer. I already tried to turn it by my fingers. In the one direction I had the feeling it was at the "end position" (I couldn't turn further). In the other direction I could turn it a little bit, but it's not so easy doing it by fingers because it's too small (at least for my fingers). So I'll try when I'm at home with a screw driver.

Stupid question: Is there a possibility to "destroy" anything or to remove the screw from the potentiometer in case I drive too long?
Thanks and kind regards,



No, when you get to the ends there should be a slight clicking feel, but it will not unscrew or hurt anything.


Apparently the manufacturers realise just how absolutely certain would be the damage if there was a "hard" end-stop.  The clicking is the permitted jumping of the screw spiral over the gear teeth on the rim of the actual potentiometer wheel.


Back in the stone age I remember that we had some trouble with the long skinny 10-turn Bourns Trimpots. 

If you ran them to the end where they started clicking they frequently failed and the gear could not be reengaged to run it back the other way.


Geek Emeritus

May 15, 2019, 04:27 pm Last Edit: May 15, 2019, 04:29 pm by Geek Emeritus
I don't see an I2C address. how does the Arduino know where to send the data?

lcd.begin(20, 2); I am accustomed to lcd.begin(16, 2); and lcd.begin(20, 4);. you seem to have a unique LCD module

more like this: LiquidCrystal_I2C lcd(0x27,16,2);   // set the LCD address to 0x27 for 16 chars and 2 line display
All PMs will be deleted unopened due to arrogant argumentative pot stirring Malfoys.
 If you have not read "How to use this forum - please read", in particular: "7. If you are posting code or error messages, use "code" tags":  expect rude responses



thanks for your responses. Driving the potentiometer made it. The only problem I still had was, that I used lcd.noDisplay(), because yesterday I thought I can at least switch off the display. This shouldn't have been affected who lighted the display is,... But with my first tries adjusting the potentiometer, now, nothing changed, until I removed lcd.noDisplay(). Argh! ;)

Now, it works quite fine.

@Emeritus: I meant I was sure, that the LCD has 2 rows and 20 cols, but since I didn't see them, I couldn't count. Now, I'll do and probably you are right, it's 2x16.

Thanks a lot! Now I'm even more motivated to extend the arduini + display with my ethernet shield, make the buttons work,... ;)
Thanks and kind regards,



I don't see an I2C address. how does the Arduino know where to send the data?
By using the 6 arduino pins in 4 bit mode....  ;)

Go Up