connecting tft lcd touch screen with nodemcu esp8266 factory

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

This person ( (146) ESP8266 and 2.4" 8-bit parallel ST7781 TFT Uno Shield - YouTube) got the same display working w/ nodeMCU (albeit their module is 5V one and has hack on the LDO).

The Bodmer/TFT_eSPI: Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips (github.com) library says 8 bit parallel is not possible w/ ESP8266 because of shortage of GPIOs - but ESP8266 has 16 GPIOs (out of which 4 are SPI). I don"t plan on using touch or SD card functionality anyways. The LCD requires 8(data) + 4 (Control) + 1 = 13 pins, which should fit in the 16 provided by ESP8266 ? Please let me know if I am missing anything.

Anyways - the first question at hand would be - is it possible to run 8 bit parallel tft w/ ESP8266, followed by - which library can do the job if possible.

connecting tft lcd touch screen with nodemcu esp8266 factory

The ILI9341 TFT module contains a display controller with the same name: ILI9341. It’s a color display that uses SPI interface protocol and requires 4 or 5 control pins, it’s low cost and easy to use.

The resolution of this TFT display is 240 x 320 which means it has 76800 pixels. This module works with 3.3V only and it doesn’t support 5V (not 5V tolerant).

The ILI9341 TFT display board which is shown in project circuit diagram has 14 pins, the first 9 pins are for the display and the other 5 pins are for the touch module.

Pins D5 (GPIO14) and D7 (GPIO13) are hardware SPI module pins of the ESP8266EX microcontroller respectively for SCK (serial clock) and MOSI (master-out slave-in).

The first library is a driver for the ILI9341 TFT display which can be installed from Arduino IDE library manager (Sketch —> Include Library —> Manage Libraries …, in the search box write “ili9341” and choose the one from Adafruit).

The ILI9341 TFT display is connected to NodeMCU hardware SPI module pins (clock and data), the other pins which are: CS (chip select), RST (reset) and DC (data/command) are defined as shown below:

Full Arduino code:The following Arduino code is from Adafruit ILI9341 library (graphicstest.ino) with some modifications in order to work with the above circuit diagram.

connecting tft lcd touch screen with nodemcu esp8266 factory

When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.

connecting tft lcd touch screen with nodemcu esp8266 factory

Also, the RTC may not be necessery, someone tested the time keeping of the ESP8266 and it was only 1 sec off per day, so running NTP sync every day(s)/week would be sufficient, also, the DS1302 is not even that precise, if one wants a good one, get the DS32310

You could do that, in fact you can make a much cheaper design if the screen data is pushed from a central HTTP server to multiple thermostats in different areas, and their data and user inputs are passed right back to the server too. That way the ESP+Display combo just acts as a thin client to the server and does not need to run a lot of code itself. Instead of a touch screen you can use a cheap OLED display and a separate cap-sense board for menu navigation.

Would it be possible to use remote sensors with this? The problem I have currently is the thermostat (stupidly) is in the only unheated area of our house, the entrance hall. but I"d like to out the smart one their to use the cure boiler connections but get a temp reading from the lounge.0

connecting tft lcd touch screen with nodemcu esp8266 factory

ESP8266 source code can be found at GitHub. Upload program with ESP8266 Arduino IDE. If you are using ESP-01 then keep DEBUG in comments. To enable DEBUG use ESP8266 NODE MCU which allows one additional software serial.

Set access point name and password and EasyIoT Cloud username and password. You can later set those settings on thermostat touch screen (Settings->WiFi Cloud), but it"s easier to change it in program. Program will automatically add thermostat to EasyIoT Cloud and configure module parameters. Of course you need to register to EasyIoT Cloud first.

connecting tft lcd touch screen with nodemcu esp8266 factory

In this guide we’re going to show you how you can use the 1.8 TFT display with the Arduino. You’ll learn how to wire the display, write text, draw shapes and display images on the screen.

The 1.8 TFT is a colorful display with 128 x 160 color pixels. The display can load images from an SD card – it has an SD card slot at the back. The following figure shows the screen front and back view.

This module uses SPI communication – see the wiring below . To control the display we’ll use the TFT library, which is already included with Arduino IDE 1.0.5 and later.

The TFT display communicates with the Arduino via SPI communication, so you need to include the SPI library on your code. We also use the TFT library to write and draw on the display.

In which “Hello, World!” is the text you want to display and the (x, y) coordinate is the location where you want to start display text on the screen.

The 1.8 TFT display can load images from the SD card. To read from the SD card you use the SD library, already included in the Arduino IDE software. Follow the next steps to display an image on the display:

Note: some people find issues with this display when trying to read from the SD card. We don’t know why that happens. In fact, we tested a couple of times and it worked well, and then, when we were about to record to show you the final result, the display didn’t recognized the SD card anymore – we’re not sure if it’s a problem with the SD card holder that doesn’t establish a proper connection with the SD card. However, we are sure these instructions work, because we’ve tested them.

In this guide we’ve shown you how to use the 1.8 TFT display with the Arduino: display text, draw shapes and display images. You can easily add a nice visual interface to your projects using this display.

connecting tft lcd touch screen with nodemcu esp8266 factory

Nice packaging comes with more tham you need to build your weather station. Only thing that was missing was a piece of paper with reference to documentation, which is to be found on the Internets.

What you’ll build in less that 20 minutes of soldering is a device, that (with demo sketch for Arduino IDE) is able to connect to your WiFi and fetch current WeatherStation data for pre-defined location. On first start, it will require to calibrate touch display used to control the device.

Which gives a real brainkick when you realize you have SD card, touch screen, free serial port and you could easily add GSM module (without additional memory requirements) and possibly some additional I2C device(s) attached.

Even though it might not be visible at first sight, there’s a tremendous amount of work behind this thing (and by ‘thing’ is meant a combination of software and hardware). When you start installing the sample Weather Station sketch, it appears that you need to install some libraries, all of them by Daniel Eichhorn: ESP8266 WeatherStation which is a WeatherUnderground client, Json Streaming Parser that helps keeping low memory profile while getting huge API responses, and Mini Grafx library that implements a VSYNC equivalent through framebuffer for embedded devices.

The Arduino sketch has 438k built so there’s still plenty of room to add more features. However, I’m looking to dive deeply into existing example code in order to reuse as much as possible. There’s NNTP, visual WiFi display, display carousel, icons, fonts, colours and last but not least the touch screen support.

connecting tft lcd touch screen with nodemcu esp8266 factory

"Upper layer" main development board contains ESP32-PICO-D4 SiP, battery connector & charger circuit with LiPo charge status LEDs, Reset & pull-up IO0 buttons, and a green LED on GPIO4.

Clone of the SparkFun ESP32 Thing board. Compact ESP32 based development board with battery connector, and the typical development board component accoutrements.

Version 2.0 of this board (1) corrected polarity labeling on bottom silk-screened battery symbol and (2) changed the LiPo battery connecter direction.

Development board/module with ESP-WROOM-32 module, USB-to-UART, Reset & Boot (IO0) buttons, Li-ion battery connector & charger, two Grove connectors, LED on IO2, and three indicator LEDs.

The ESP32-LyraTD-MSC Audio-Mic HDK (hardware development kit) combines the ESP32-LyraTD-MSC ("audio-mic development board") with a secondary "top" board.

The ESP32 touch sensor development kit, ESP32-Sense Kit, is used for evaluating and developing ESP32 touch sensor system. ESP32-Sense Kit consists of one motherboard and multiple daughterboards. The motherboard contains a display unit, a main control unit and a debug unit. The daughterboards have touch electrodes in different combinations or shapes, such as linear slider, wheel slider, matrix buttons and spring buttons, depending on the application scenarios. Users can design and add their own daughterboards for special usage cases.

Features an xBee socket with switchable VCC voltage (3.3 V or 5 V), so 2G (SIM800) and 3G (SIM5360) xBee modules will work on it to provide cellular network access.

ESP-WROOM-32 based development board with SH1106 OLED display (128×64 pixels), RJ-45 Ethernet connector, CAN-bus connector, Micro USB connector, USB-to-UART bridge, LiPo battery connector and charging circuit.

Board with MEMS Microphone (ICS-43434) and class-D amplifier embedded 1-channel DAC (Maxim MAX98357A); intended for Amazon Alexa experimentation and development.

ESP32 development board with ePaper display, TI PCM5102A DAC, ICS43434 MEMS Microphone, CP2102N USB-to-UART bridge, microSD card slot, and LiPo charger.

Circular board with ESP-WROOM-32 module, Ethernet (LAN8720A), stereo audio CODEC (WM8978), microphone, 3.5 mm audio receptacle, USB-to-UART bridge (CP2104), Micro USB connector, and SD card slot.

Has column-similar/redundant dual-row connections along the longest sides for easier stand-alone use without a breadboard (but still could be used with a breadboard).

2× Ethernet (optional), 1× Serial Port RS-232/485, OLED 0.96″ 128×64 (optional), power supply with UPS (optional), U.FL (I-PEX) antenna mount(s), and ExCard extension modules support.

SPI0 is permanently reserved for cache access to the flash chip. SPI1 is connected to the same pins via an arbiter and is used to write to flash. You can use SPI1 to also write to other peripherals connected in parallel with the flash (but with another /CS), however, this is tricky to implement because it means you can"t simultaneously access flash anymore. Thats why it"s not in the driver yet.

connecting tft lcd touch screen with nodemcu esp8266 factory

Simply put: that TFT requires a lot of GPIO pins - 10 at an absolute bare minimum, but better if you have more available. The ESP8266 doesn"t have many IO pins - and some of them are very sensitive about what they can be connected to without affecting the boot process.

If you are careful with your GPIO selection it may be possible to work with that screen. There are no specific requirements for what pins need to be connected to where (as far as hardware functionality goes), so it"s up to you to find the right combination that doesn"t cripple the boot process (stay away from GPIOs 0, 2 and 15 if you can).