user26074: I connected a 16x2 LCD display to a Arduino Uno. Then I tested a "Hello, Word" code and it works perfect.
Now I want to do the same with a Wemos D1 Mini but it doesn't work.
Here the Wemos is not connected to USB:


This os the "Hello, World" code. I needed to change the name of the pins (maybe this is the problem):
#include <LiquidCrystal.h>

const int rs = 8, en = 7, d4 = D5, d5 = D4, d6 = D3, d7 = D2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

This is the result (potentiometer works perfect):


user3557: You are doing it on wemos d1 mini isnt it ?
Then you dint include its header files, 
Did you check the "LiquidCrystal.h" has definitions for wemos pinouts?
Your lcd is fine, n wemos too, its just your configuration is wrong.
Check those and update here.

user59019: Although an old question, i just ran into the excat same issue.
The problem is that the pin numeration on the wemos D1 isn't the same as on the arduino.
I've followed the liquid crystal arduino tutorial but changed the numeration of the pins to 
const int rs = 12, en = 13, d4 = 14, d5 = 4, d6 = 5, d7 = 16;

Now, at least for me, the display works as it should

26074: <p>I connected a 16x2 LCD display to a Arduino Uno. Then I tested a "Hello, Word" code and it works perfect.
Now I want to do the same with a Wemos D1 Mini but it doesn't work.</p>

<p>Here the Wemos is not connected to USB:</p>

<p><a href="https://i.stack.imgur.com/AKoz9.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/AKoz9.jpg" alt="16x2 LCD connected to Wemos (front)"></a>
<a href="https://i.stack.imgur.com/oReLJ.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oReLJ.jpg" alt="16x2 LCD connected to Wemos (rear)"></a></p>

<p>This os the "Hello, World" code. I needed to change the name of the pins (maybe this is the problem):</p>

<pre><code>#include &lt;LiquidCrystal.h&gt;

const int rs = 8, en = 7, d4 = D5, d5 = D4, d6 = D3, d7 = D2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}
</code></pre>

<p>This is the result (potentiometer works perfect):</p>

<p><a href="https://i.stack.imgur.com/HvGDf.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/HvGDf.jpg" alt="Display is on but empty"></a></p>
 3557: <p>You are doing it on wemos d1 mini isnt it ?</p>

<p>Then you dint include its header files, 
Did you check the "LiquidCrystal.h" has definitions for wemos pinouts?</p>

<p>Your lcd is fine, n wemos too, its just your configuration is wrong.</p>

<p>Check those and update here.</p>
 59019: <p>Although an old question, i just ran into the excat same issue.<br>
The problem is that the pin numeration on the wemos D1 isn't the same as on the arduino.<br>
I've followed the liquid crystal arduino tutorial but changed the numeration of the pins to </p>

<pre><code>const int rs = 12, en = 13, d4 = 14, d5 = 4, d6 = 5, d7 = 16;
</code></pre>

<p>Now, at least for me, the display works as it should</p>
