Hello Im trying to interface 8 bit parallel TFT w/ NodeMCU. This is the module I have
I have tried david_prentice's MCUFRIEND_kbv Library with some hacks to no avail. I tried to hack the library for ESP8266 (updated write_8 and read_8 functions in mcufriend_sheild.h and defined SUPPORT_4532) - using these connections
LCD_RST <=> RST
LCD_CS <=> GND
LCD_RS <=> GPIO15
LCD_WR <=> GPIO14
LCD_RD <=> 3V
LCD_D0 <=> GPIO0
LCD_D1 <=> GPIO1
LCD_D2 <=> GPIO2
LCD_D3 <=> GPIO3
LCD_D4 <=> GPIO4
LCD_D5 <=> GPIO5
LCD_D6 <=> GPIO12
LCD_D7 <=> GPIO13
Not sure if LCD_RST, LCD_CS and LCD_RD shortcuts are allowed by the library software.
hardcode the ID (0x9341) instead of reading it from the module as we have pulled LCD_RD to high.
Comment out serial comm parts as I am using TX and RX pins for data
After this I faced one issue - ESP8266 kept resetting during the test. Turns out the watchdog wasn't being fed periodically. Maybe some esp8266 guru or @david_prentice can suggest the right place for yeild(); function for WDT within the library. For now i went ahead and disabled the WDT (I know that's not a very intelligent thing to do - but for POC it works now). For now i disabled it via
From your Adafruit_Report photo, it detects the ID as 0xCFCF which is totally unknown (and unsupported)
Ah-ha. You are using a pin-starved NodeMCU board. Since you have no LCD_RD functionality, the tft.readID() means nothing.
What ID have you used for tft.begin(ID); ?
If you used tft.begin(0x4532); and it worked, you almost certainly have an LGDP4532.
If you used tft.begin(0x9341); and it worked, you probably have an ILI9341.
You can always plug your shield into a proper Uno. Then we can see exactly what you have got by running the regular examples.