In this guide, you’ll learn how to get started with the TFT LCD Touchscreen Display with the ESP32 board. This TFT Touchscreen with 2.8 inch display (240×320 px) comes with the ILI9341 driver. This display is a great option to build graphical user interfaces (GUI) for your IoT projects.
We recommend an ESP32 board that has an on-board TFT display, read our Getting Started with ESP32 Cheap Yellow Display Board – CYD (ESP32-2432S028R)
Introducing the TFT LCD Touchscreen Display
The display we’re using in this guide is the 2.8. inch TFT LCD that also comes with a touchscreen. The display communicates via SPI communication protocol and uses the ILI9341 driver. You can write text, draw shapes, and display images. The touchscreen also uses the SPI communication protocol.
The TFT LCD touchscreen also comes with an SD card interface if you need to load files for your specific project. This display is also available with different screen sizes.
Parts Required
For this project, you need to wire the TFT display and touchscreen pins to the ESP32. Here’s a list of parts you need:
- TFT LCD Touchscreen Display – 2.8 inch ILI9341 240×320
- ESP32 DOIT DEVKIT V1 Board – read ESP32 Development Boards Review and Comparison
- Breadboard
- Jumper wires
You can use the preceding links or go directly to MakerAdvisor.com/tools to find all the parts for your projects at the best price!
Wiring the TFT LCD Touchscreen Display to the ESP32 Board
Wire the TFT LCD and touchscreen pins to the following ESP32 GPIOs (you must use these exact pins, otherwise the project will not work).
TFT LCD Touchscreen | ESP32 |
T_IRQ | GPIO 36 |
T_OUT | GPIO 39 |
T_DIN | GPIO 32 |
T_CS | GPIO 33 |
T_CLK | GPIO 25 |
SDO(MISO) | GPIO 12 |
LED | GPIO 21 |
SCK | GPIO 14 |
SDI(MOSI) | GPIO 13 |
D/C | GPIO 2 |
RESET | EN/RESET |
CS | GPIO 15 |
GND | GND |
VCC | 5V (or 3.3V)* |
* In the VCC pin, you can either use 5V or 3.3V depending if your J1 connection is open or closed (by default it’s usually open as you can see in the figure below).
VCC = 5V | J1=OPEN
VCC = 3.3V | J1=CLOSE
Recommended reading: ESP32 Pinout Reference: Which GPIO pins should you use?
Installing Arduino Libraries
The ESP32 communicates with the TFT Display and Touchscreen using SPI communication protocol. We’ll be using the TFT_eSPI and XPT2046_Touchscreen libraries.
Installing the TFT_eSPI Library
Open your Arduino IDE and go to Sketch > Include Library > Manage Libraries. The Library Manager should open. Search for TFT_eSPI. Select the TFT_eSPI library by Bodmer and install it.
Installing the XPT2046_Touchscreen Library
Open your Arduino IDE and go to Sketch > Include Library > Manage Libraries. The Library Manager should open. Search for XPT2046_Touchscreen. Select the XPT2046_Touchscreen library by Paul Stoffregen and install it.
Prepare User_Setup.h Config File for TFT_eSPI Library
To properly use the TFT_eSPI library, you need a configuration file called User_Setup.h with the right definitions. We’ve already prepared that file so that you don’t have any configuration issues following our examples. You just need to download it and move it to the right folder. Follow the next instructions to learn how to do it.
a) Preparing the Config File – Windows PC
b) Preparing the Config File – Mac OS
a) Preparing the Config File – Windows PC
Having both libraries installed (TFT_eSPI and XPT2046_Touchscreen), download the User_Setup.h configuration file.
- Click here to download .zip folder with the User_Setup.h config file (view raw file)
In your Arduino IDE, go to File and open the Preferences menu.
Copy the Arduino IDE “Sketchbook location” path. In my case it’s:
C:\Users\rui_s\Documents\Arduino
Then, in your Windows PC File Explorer tab enter the sketchbook location path to open the Arduino folder (it’s usually under the Documents folder).
Open the libraries folder:
You should see the TFT_eSPI library folder there. Open it.
You should be in a similar folder path as shown below:
C:\Users\rui_s\Documents\Arduino\libraries\TFT_eSPI
Copy the User_Setup.h file provided earlier and replace the existing file.
IMPORTANT: other User_Setup.h available on the internet will probably NOT work with the examples available at Random Nerd Tutorials. You must use the exact User_Setup.h file provided in this article.
b) Preparing the Config File – Mac OS
Having both libraries installed (TFT_eSPI and XPT2046_Touchscreen), download the User_Setup.h configuration file.
- Click here to download .zip folder with the User_Setup.h config file (view raw file)
In your Arduino IDE, open the Settings menu.
Copy the Arduino IDE “Sketchbook location” path. In my case, it’s:
/Users/rui/Documents/Arduino
In Finder, type /Users/rui/Documents/Arduino and open that directory.
Open the libraries folder.
You should see the TFT_eSPI library folder there. Open it.
You should be in a similar folder path as shown below:
/Users/rui/Documents/Arduino/libraries/TFT_eSPI
Copy the User_Setup.h file provided earlier and replace the existing file.
You should now have the User_Setup.h file provided on that path.
IMPORTANT: other User_Setup.h available on the internet will probably NOT work with the examples available at Random Nerd Tutorials. You must use the exact User_Setup.h file provided in this article.
Code – Display Text and Testing the Touchscreen
The following code displays a simple text in your TFT display and allows you to test the touchscreen. When you press the touchscreen with your finger or pen, it should print the coordinates and pressure.
Copy the following code to the Arduino IDE and upload it to your board.
/* Rui Santos & Sara Santos - Random Nerd Tutorials
THIS EXAMPLE WAS TESTED WITH THE FOLLOWING HARDWARE:
1) ESP32-2432S028R 2.8 inch 240×320 also known as the Cheap Yellow Display (CYD): https://makeradvisor.com/tools/cyd-cheap-yellow-display-esp32-2432s028r/
SET UP INSTRUCTIONS: https://RandomNerdTutorials.com/cyd/
2) REGULAR ESP32 Dev Board + 2.8 inch 240x320 TFT Display: https://makeradvisor.com/tools/2-8-inch-ili9341-tft-240x320/ and https://makeradvisor.com/tools/esp32-dev-board-wi-fi-bluetooth/
SET UP INSTRUCTIONS: https://RandomNerdTutorials.com/esp32-tft/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/
#include <SPI.h>
/* Install the "TFT_eSPI" library by Bodmer to interface with the TFT Display - https://github.com/Bodmer/TFT_eSPI
*** IMPORTANT: User_Setup.h available on the internet will probably NOT work with the examples available at Random Nerd Tutorials ***
*** YOU MUST USE THE User_Setup.h FILE PROVIDED IN THE LINK BELOW IN ORDER TO USE THE EXAMPLES FROM RANDOM NERD TUTORIALS ***
FULL INSTRUCTIONS AVAILABLE ON HOW CONFIGURE THE LIBRARY: https://RandomNerdTutorials.com/cyd/ or https://RandomNerdTutorials.com/esp32-tft/ */
#include <TFT_eSPI.h>
// Install the "XPT2046_Touchscreen" library by Paul Stoffregen to use the Touchscreen - https://github.com/PaulStoffregen/XPT2046_Touchscreen
// Note: this library doesn't require further configuration
#include <XPT2046_Touchscreen.h>
TFT_eSPI tft = TFT_eSPI();
// Touchscreen pins
#define XPT2046_IRQ 36 // T_IRQ
#define XPT2046_MOSI 32 // T_DIN
#define XPT2046_MISO 39 // T_OUT
#define XPT2046_CLK 25 // T_CLK
#define XPT2046_CS 33 // T_CS
SPIClass touchscreenSPI = SPIClass(VSPI);
XPT2046_Touchscreen touchscreen(XPT2046_CS, XPT2046_IRQ);
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define FONT_SIZE 2
// Touchscreen coordinates: (x, y) and pressure (z)
int x, y, z;
// Print Touchscreen info about X, Y and Pressure (Z) on the Serial Monitor
void printTouchToSerial(int touchX, int touchY, int touchZ) {
Serial.print("X = ");
Serial.print(touchX);
Serial.print(" | Y = ");
Serial.print(touchY);
Serial.print(" | Pressure = ");
Serial.print(touchZ);
Serial.println();
}
// Print Touchscreen info about X, Y and Pressure (Z) on the TFT Display
void printTouchToDisplay(int touchX, int touchY, int touchZ) {
// Clear TFT screen
tft.fillScreen(TFT_WHITE);
tft.setTextColor(TFT_BLACK, TFT_WHITE);
int centerX = SCREEN_WIDTH / 2;
int textY = 80;
String tempText = "X = " + String(touchX);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
textY += 20;
tempText = "Y = " + String(touchY);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
textY += 20;
tempText = "Pressure = " + String(touchZ);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
}
void setup() {
Serial.begin(115200);
// Start the SPI for the touchscreen and init the touchscreen
touchscreenSPI.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
touchscreen.begin(touchscreenSPI);
// Set the Touchscreen rotation in landscape mode
// Note: in some displays, the touchscreen might be upside down, so you might need to set the rotation to 3: touchscreen.setRotation(3);
touchscreen.setRotation(1);
// Start the tft display
tft.init();
// Set the TFT display rotation in landscape mode
tft.setRotation(1);
// Clear the screen before writing to it
tft.fillScreen(TFT_WHITE);
tft.setTextColor(TFT_BLACK, TFT_WHITE);
// Set X and Y coordinates for center of display
int centerX = SCREEN_WIDTH / 2;
int centerY = SCREEN_HEIGHT / 2;
tft.drawCentreString("Hello, world!", centerX, 30, FONT_SIZE);
tft.drawCentreString("Touch screen to test", centerX, centerY, FONT_SIZE);
}
void loop() {
// Checks if Touchscreen was touched, and prints X, Y and Pressure (Z) info on the TFT display and Serial Monitor
if (touchscreen.tirqTouched() && touchscreen.touched()) {
// Get Touchscreen points
TS_Point p = touchscreen.getPoint();
// Calibrate Touchscreen points with map function to the correct width and height
x = map(p.x, 200, 3700, 1, SCREEN_WIDTH);
y = map(p.y, 240, 3800, 1, SCREEN_HEIGHT);
z = p.z;
printTouchToSerial(x, y, z);
printTouchToDisplay(x, y, z);
delay(100);
}
}
How the Code Works
Let’s take a quick look at the parts of the code that are relevant to this example.
Libraries
Include the SPI, TFT_eSPI and XPT2046_Touchscreen libraries.
#include <SPI.h>
#include <TFT_eSPI.h>
#include <XPT2046_Touchscreen.h>
Initialize TFT
Create a TFT_eSPI instance:
TFT_eSPI tft = TFT_eSPI();
Initialize Touchscreen
The following lines set the touchscreen pinout:
#define XPT2046_IRQ 36
#define XPT2046_MOSI 32
#define XPT2046_MISO 39
#define XPT2046_CLK 25
#define XPT2046_CS 33
Create a touchscreenSPI and touchscreen instances:
SPIClass touchscreenSPI = SPIClass(VSPI);
XPT2046_Touchscreen touchscreen(XPT2046_CS, XPT2046_IRQ);
Other Variables
Set the screen width, screen height, and font size:
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define FONT_SIZE 2
Variables to store the coordinates: (x, y) and pressure (z).
int x, y, z;
setup()
Start a serial communication with the Serial Monitor at a baud rate of 115200:
Serial.begin(115200);
Start the SPI for the touchscreen and initialize the touchscreen.
touchscreenSPI.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
touchscreen.begin(touchscreenSPI);
touchscreen.setRotation(1);
Note: in some displays, the touchscreen might be upside down, so you might need to set the rotation to 3: touchscreen.setRotation(3);
Start the TFT display and set the TFT display rotation in landscape mode.
tft.init();
tft.setRotation(1);
Set the TFT screen background to white. Then, set the text color to black with white background.
tft.fillScreen(TFT_WHITE);
tft.setTextColor(TFT_BLACK, TFT_WHITE);
Set X and Y coordinates for the center of the display.
int centerX = SCREEN_WIDTH / 2;
int centerY = SCREEN_HEIGHT / 2;
Display two centered welcome messages in the TFT display:
tft.drawCentreString("Hello, world!", centerX, 30, FONT_SIZE);
tft.drawCentreString("Touch screen to test", centerX, centerY, FONT_SIZE);
loop()
In the loop(), it constantly checks if the touchscreen was touched.
if (touchscreen.tirqTouched() && touchscreen.touched()) {
When it detects that the touchscreen was touched, it will get the (x,y) coordinates and the pressure (z) from the point.
TS_Point p = touchscreen.getPoint();
// Calibrate Touchscreen points with map function to the correct width and height
x = map(p.x, 200, 3700, 1, SCREEN_WIDTH);
y = map(p.y, 240, 3800, 1, SCREEN_HEIGHT);
z = p.z;
Call the printTouchToSerial and printTouchToDisplay functions to print the touchscreen info in the Serial Monitor and TFT display.
printTouchToSerial(x, y, z);
printTouchToDisplay(x, y, z);
printTouchToSerial()
The printTouchToSerial() function prints touchscreen info about X, Y, and Pressure (Z) on the Serial Monitor.
void printTouchToSerial(int touchX, int touchY, int touchZ) {
Serial.print("X = ");
Serial.print(touchX);
Serial.print(" | Y = ");
Serial.print(touchY);
Serial.print(" | Pressure = ");
Serial.print(touchZ);
Serial.println();
}
printTouchToDisplay()
The printTouchToDisplay() function prints touchscreen info about X, Y, and Pressure (Z) on the TFT Display.
void printTouchToDisplay(int touchX, int touchY, int touchZ) {
// Clear TFT screen
tft.fillScreen(TFT_WHITE);
tft.setTextColor(TFT_BLACK, TFT_WHITE);
int centerX = SCREEN_WIDTH / 2;
int textY = 80;
String tempText = "X = " + String(touchX);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
textY += 20;
tempText = "Y = " + String(touchY);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
textY += 20;
tempText = "Pressure = " + String(touchZ);
tft.drawCentreString(tempText, centerX, textY, FONT_SIZE);
}
Demonstration
Upload the code to your board. Go to Tools > Board and select ESP32 > ESP32 Dev Module. Then, select the right COM port in Tools > Port. Finally, click the upload button.
After uploading the code to your board, it should display the sample “Hello, world!” text centered at the top. Press the touchscreen with your finger to test it.
It should print the coordinates: (x, y) and pressure (z) in the TFT display. You should note that this is a 240x320px resistive touchscreen.
The coordinates and pressure are also printed on your Arduino IDE serial monitor:
Wrapping Up
In this tutorial, you learned how to use the TFT touchscreen LCD display with the ILI9341 driver using an ESP32. This setup is useful for creating dashboards and GUIs for your DIY projects.
If you prefer to use an ESP32 dev board with a built-in TFT display, read our Getting Started with ESP32 Cheap Yellow Display Board.
We hope you found this tutorial useful. We’ll be posting more guides, so stay tuned.
To learn more about the ESP32, make sure to take a look at our resources:
This, and the recent tutorial on the CYD, ‘Cheap Yellow Display’ are great. I’ve been trying to sort this out for a while. Other resources didn’t handle the ‘setup.h’ file at all well and yours just works.
For a future tutorial idea, getting started with the CYD and Squareline Studio would be very useful?
Glad it worked.
First I’ll be covering the standalone LVGL library which is already very powerful, but I’ll consider also using Squareline Studio!
Dear Rui,
Very interesting project. As I have a Wemos Di R32 board (Arduino Uno – based) with Esp32 functionality, my question: Can I use and click-on the TFT- screen on my Wemos- board? And how do I have to take care for the 5V/ 3.3V jumper setting on the board?
Many thanks for your reply,
Alex
I’m not familiar with that Wemos version… But I guess it probably has an output of 3.3V
I gave up trying to get TFT to work with esp32 so I bout 5″elecrow display same as in your post display & esp32 in one package. Since it seem easier to use with Square line studio to create GUI but I don’t understand how to Read in analog sensor and display on the squareline Gui gauges using this TFT screen if you could do a write-up on it would greatly appreciate it.
Thank you for the suggestion, I’ll definitely consider that subject.
I hope you do a more longer tutorial like the one you did on ssd1306 oled display , I mean not describing who each chunk of code works but rather explaining each function alone outside of a program (see the tutorial to understand what I am saying)
Hello Osmax,
Yes, we definitely have many guides lined up for this display… This is just a basic getting started to prepare the libraries correctly and ensure you can run the code with out display
This is the only code that actually worked for me. I am using an ILI9486 so I only had to change a couple of settings. I had trouble with finding a setup that included touchscreen settings for the touch pins.
Maybe you could write a GUI application using this setup.
Anyway thank you for writings this.
James
Glad to hear it worked! I’ll be posting more guides very soon with these displays.
What did you have to change for the code to work on the ILI9486 driver?
Great Guide.
Quick question Is there a reason you used the Default SDA (GPIO21) for LED CS?
Which presents a Idea for a project using both the TFT touch and a I2C LCD display & a DS18B20 temp sensor. This would be a great learning tool on interfacing multiple diferent I2C devices. Granted using both a TFT and a LCD is not common (I use it in model railroading TFT is the GUI LCD status display) but it does demo multiple I2C nicely.
Another Guide would be a series of guides with the TFT & WiFi enabled and a simple TX PLC/message control protocal allowing remote ESP 32’s to send say temp data to a central TFT/LCD display and allow the Central TFT to send commands to say ESP 32 4 relay devices and retrieve status basicly creating a multi node Home automation system. (Again I use this in Model Railroading)
The answer is: I’m using the GPIOs from the “Cheap Yellow Display” https://randomnerdtutorials.com/cheap-yellow-display-esp32-2432s028r/
In order to make all my TFT+Touchscreen Guides compatible with a single User_Setup.h config file, I’m constrained to the Cheap Yellow Display pin assignment.
It’s definitely not the best pin assignment, but that’s the one I’ll be using to make everything work with the same config file.
Regards,
Rui
hello,the actuall pin configuration working only for Cheap Yellow Display , not for TFT 240×320 touchscreen
Hi.
Yes. It works. We tested it.
Unless you’re using a different display or a completetly different ESP32 boarD?
Regards,
Sara
I’m looking forward to an article on LovyanGFX, which is faster than TFT-eSPI.
github.com/lovyan03/LovyanGFX
Thanks for the suggestion, but at the moment we don’t plan to use that library. We’ll be using mostly LVGL.
Hey please help I am not able to get the output or see anything on my 3.5 inch LCD TFT touch screen display with ILI9341 DRIVER when interfaced with Esp wroom 32 with 38 pin .I tried to make changes in the code by changing the resolution in code to 480 x 320 and many more changes tried trouble shooting .
Here are the related documents to support my statement and get a better understanding aboout my components.
drive.google.com/drive/folders/1zEo43EpFC_e7ijSBt-KvHDhuR-4aXnAP?usp=drive_link
Please help me solve this issue and print the output in the tft display also. The connections are right as the touch have been detected by the esp 32 and output of the code and part of code is executed and obtained at Serial Monitor. Please Help.
As far as I can see, all of your excellent tutorials are written for the Arduino IDE. A very common alternative is VScode. Can you imagine writing tutorials for this IDE as well, or better yet, pointing out the differences. In my opinion, a key difference lies in the handling of the libraries to be integrated.
The reason for my question: I was unable to port this tutorial to VScode. When compiling with your customized library there is an error when calling XPT2046_Touchscreen::begin (to many arguments)
A great starting point to start playing with the touchscreen display. The instructions and code worked as a charm with a 2.4 display. It would be very interesting to know the available alternatives to display and use pushbuttons, sliders, etc… In any case, thanks very much for your help.
Hi Rui,
Any reason for not using the XPT2046 touch support into the TFT_sSPI library?
And, being both devices SPI-based, can’t they share the bus ? (provided separate CS pins, of course)
I have tried the touch support into the TFT_sSPI library and I have not been able to make it work. getTouchRaw function does not return valid values. It is a pity because there is a big bunch of libraries working on TFT_sSPI touch support (for keyboards, push buttons, etc…). Wanting to use these libraries my only option right now is to adapt them to use the XPT2046 touch support…. :-((
As always, excelent post. I had some problems after the first time I uploaded the sketch to my WeMos D1 R32 and my ESP32. The touchscreen was’t working at at all (just wrote some negative values for x and y and the value of z was 4095. I was trying to figure out and then I selected a wrong board (an ESP32S2) and accused an error on the line “SPIClass touchscreenSPI = SPIClass(VSPI);”; then I changed to “SPIClass touchscreenSPI = SPIClass(SPI);” and then I selected the right board and everything started to work like a charm. So, if somebody is having some trouble, this may help. Does it make sense Sara and Rui?
Hi.
Can you tell me exactly which board you selected in Tools > Board?
And the actual board and display that you were testing?
Regards,
Sara
Yes, sure! On both cases it didn’t work at first and worked later after I made the changed this line. The first war with a “WEMOS D1 R32” (option selected in the Arduino IDE) Board, and in the second time it was a regular ESP32, with 26 pins (and selected the board “ESP32 Dev Module”). The ESP32 driver used is the 3.0.2. But I still think that there is something weird going on with the pins of my display, because sometimes it works everything, and testing now it don’t show the text in the display (yesterday it was displaying everything correctly).
Hi.
That’s hard to tell.
But, maybe there is something weird with the pinout or the connections between the display nad the ESP32… I’m not sure.
Regards.
Sara
It’s possble to use ILI9341 with ESP8266 an where to find a valid sketch.
Thank
Renzo
I am using ESP 32 S3 and trying to connect 240*320 2.4 inch TFT SPI screen. I don’t have pin 25, 32, 33 pins on ESP 32 S3. I would be grateful if anyone can suggest alternatives to me
Hi.
You can use any other GPIOs, except the GPIOs connected to PSRAM.
Regards,
Sara
Explain please why you choose to use two different spi busses for display and touch? why not in one?
Hi,
Is there some diference if you use ESP32 with 30 pins?
Thanks,
Cesar
No.
It’s the same.
If you need to adjust the connections, make sure to modify the code to reflect those changes.
Regards,
Sara
Ok, because I intend to use ESP32 with 30 pins. I just have one more question.
LED is connected in GPIO21. I would like to keep free SDA and SCL to connect sensors.
So, how can I change GPIO21 ? Where Do I change this in the code or librarian?
Thank you for the attention.
Cesar
Hi.
You need to change this line in the User_Setup file:
#define TFT_BL 21 // LED back-light control pin
However, you can use any pins for I2C—you don’t necessarily need to use the default ones. Check this tutorial: https://randomnerdtutorials.com/esp32-i2c-communication-arduino-ide/
Regards,
Sara
Hello,
great work and a good help for me.
My X and Y coordinates are always displayed, whether I press the display or not. Pressure is always at about 40xx, X-axis jumps somewhere around 200 and Y moves at about 250. When I press on the display I can get the X-value small but never the Y. I already suspected that the display was probably faulty.
This is what the output looks like when the display is not touched.
20:25:44.464 -> X = 198 | Y = 256 | Pressure = 4040
20:25:44.603 -> X = 180 | Y = 259 | Pressure = 4026
20:25:44.728 -> X = 235 | Y = 257 | Pressure = 4029
20:25:44.867 -> X = 192 | Y = 258 | Pressure = 4030
20:25:45.007 -> X = 175 | Y = 256 | Pressure = 4039
20:25:45.097 -> X = 198 | Y = 256 | Pressure = 4029
20:25:45.270 -> X = 198 | Y = 247 | Pressure = 4028
20:25:45.410 -> X = 235 | Y = 257 | Pressure = 4018
20:25:45.499 -> X = 196 | Y = 257 | Pressure = 4034
20:25:45.673 -> X = 196 | Y = 257 | Pressure = 4034
20:25:45.812 -> X = 195 | Y = 257 | Pressure = 4033
Thank you very much for your effort and keep up the good work
Matthias
Excellent tuto de Rui SANTOS
J’ai utilisé votre programme avec un ecran tft lcd 480 x 320 ili9488 et cela fonctionne tres bien. Par contre, lorsque je veux utiliser la carte sd qui fait partie integrante de l ecran, la partie tactile de l ecran ne fonctionne plus. J utilise la bibliotheque SD.h pour le lecteur de carte. ,Merci si vous pouvez m aidre