Why does the LCD impede the ESP8266 NodeMCU initialization?

I have a very simple setup on a breadboard that connects a Lolin v3 NodeMCU ESP8266 with a 16x02 LCD. No I2C communication, I'm doing with directly with Arduino IDE and the LiquidCrystal library.

For some reason when I disconnect the LCD Vdd and connect it after the MCU has booted everything works fine. My power supply indicates it draws ~70mA during boot and then lowers the current. However if I leave the LCD connected and turn on the power supply, the MCU won't boot and the circuit is stuck drawing 40mA with the LCD showing blocks on the first line at 50% contrast.

How can I fix this?

Here's how I setup my wiring:

And my code:

#include <LiquidCrystal.h>

LiquidCrystal lcd(D8, D7, D6, D5, D4, D3);

void setup(void) {
lcd.begin(16, 2);
}

void loop(void) {
lcd.setCursor(0, 0);
lcd.print("hello, world!");
delay(10000);
}

• I don't see any power supply decoupling capacitors. Jan 20 at 18:43
• @Andyaka how can I add them? Jan 20 at 18:44
• this may help ... zoetrope.io/tech-blog/… Jan 20 at 18:51
• @jsotola Ah, that's it! Thank you very much. Since I have connections to spare I simply replaced the three GPIO pins 0, 2 ad 15 for the other remaining free pins and it works flawlessly. Do you want to post this as an answer? I think it could be useful to someone in the future. Jan 20 at 19:20