Four years after publishing this video, you got me over the hump! I've been stuck trying to get this display to work with the ESP32 and I just needed your guidance. THANKS from the Midwest USA!
Hey, thanks very much for the appreciation. I plan to revisit this. Using latest library. I was frustrated four years ago at the lack of a simple guide. Hence the video.
Hey also I built the similar one and achive to play video on tft display 320x240 at 25 fps using esp32, even I can see the live camera footage on this screen when using with esp32 cam module
This is a great video! Informative, slow enough to follow, quick enough to keep me awake! I DETEST videos that don't have commentary. This guy does it very well, he is very clear. Saving this video!
I juat want to add my thanks and appreciation for the terrific tutorial. It really helped me with my ESP32 ILI9488 project. The video was informative and your presentation style is fantastic. Nice and breezy. You have helped a lot of people. Thanks again.
While I have your attention, I used the example sketches to test each of these functions separately. (TFT, Touch, SD Card) They all worked great when modified separately for my application. I then integrated them into my main application one by one. The TFT and Touch functions work great together but I get compile errors when I add in the SD Card code. I am certain there is some conflict with the FS/SPIFFS/LittleFS/SD libraries and the JPEGDecode library. Have you been able to develop code with all three of these features integrated into one application?
My first time on this channel, you are a ‘human’ computer trainer, I really felt that I had learned something and had control of what I was doing, not just blindly following. Thank you.
I skimmed over this video thinking it was too long, wasted 2-3 days worth of "research' to end up back here realizing it's the best all-in-one resource for learning the screen lol I don't deserve your wisdow but appriciate it none the less :D
I have searched 1 day long till i can make working my ILI9488 tft with nodemcu, but thats was the only one tutorial what worked, thjank you for the tutorial.
Hello @XPERIA80, I am working with an Elecrow 3.5in,. ILI9488 TFT dislplay with an ESP32-Wrover-B micro and SD card reader/writing. Would you mind if I contacted you to hear about your project and assistance?
ThaTFT SPI ILI9341 Display working and after fixing the omission inn the setup file for touch_CS, touch screen with buttons is working. Such a thrill to finally get access to all the examples and to see it all compile. I will now work on filling a SD card with pictures and scrolling through them . You are one of the best ESP32 teachers on TH-cam and have helped me immensely. I agree, a superb video.
This is awesome!!! THere is just one detail, pins 21 and 22 are default for I2C on ESP32, and since I'm using SPI and I2C, I need to change CS pin, but all good, just would like to warn oter person when developing projects to take this in consideration.
Man, what can I say about this video. Hmm..great is an understatement. What a superb video. Thanks a lot. You have just answered all the questions that I had about this type of LCD and its connections to esp32. Thanks a lot.
I used this video to better understand the wiring of the display and how to use TFT _eESP library to get my touchscreen working with my Wemos D5 mini and it finally works, thanks a lot!
Thank you very much for your video! All the guides for similar displays assume the touchscreen's SPI is connected to the display's SPI, and so the only wire you need is the T_CS wire. It wasn't working. I needed your video to understand that with this particular board, I have to manually short their SPI wires myself!
I love most of your videos but this one is a stand-out. A few other videos have tackled these boards, but none that I recall tackled all three functions; display, touch, and SD. Useful content, clearly presented!
THANK YOU! 4 days trying to make an TFT ILI9488 Display to work. I almost gave up, then TH-cam randomly recommended this video. It really works! 🥲 Thank you!
Yes, I had same problem, most videos lacked detail, weren't clear or were wrong. I managed to cobble several sources together and get it working so put it all together in detail
I saw this video just at the point where I was moving my TFT display from Arduino UNO, to a faster, more memory MCU, since I wanted to add an SD card. Good timing!
All very helpful. I wired everything up as all the diagrams that I found, modified my TFT_eSPI setup file with the right settings, turned on and nothing. After a while, I tried following your instructions to the letter, wire colours and all and it worked, even though everything I had done was exactly what you did, though I used an orange wire for CLK and a green for data, so maybe that was it. (Only kidding, I suspect that I've got a duff wire or a duff connection on my breadboard), but hey, thanks. Forget TFT_Meters, the TFT_Matrix example is super!
Awesome instructional video. This was the best esp32 / eSPI video by far. Loved how you went through the steps very clearly with visuals. Thank you very much.
Me too, but I'm getting an image using a different adafruit example with exactly the same pins defined and wiring. The example in this video compikes, uploads and runs, but the display is solid white. The output from the touch is also just pegged at z 4000 odd and x&y stuck at zero.... They move a bit when I touch it but y stays at zero
Such a clear and concise video tutorial. Followed it precisely and all worked first time opening up my understanding of how to configure these displays for all sorts of projects I've now in mind. Thank you so much to taking the time and trouble to produce this excellent video. Brian Campbell (Bsc)
Magnificent guide - I now have the Display section up. Didn't work first time - tried in Arduino 2.0.0 rc9.4 - lots of critical errors compiling - updated library, boards etc still failed Using ESP32 Wemos Lolin32 and 2.8" ILI9341 TFT LCD. errors like undefined min(_h,_w) etc, got the latest tft_eSPI from GIT hub, same no matter what example I tried. So I deleted all my arduino installations, and folders, Libraries etc. Then installed fresh IDE 2.0.0 Rc9.4, added ESP 32 boards , added tft_eSPI from the IDE 2.4.72, edited the User_Setup.h file as advised, compiled with a few warnings about the Changed pin assignments - but no errors, Uploaded - and I'm a happy man! many happy displays. ( TFT_Meters.ino example)
Great presentation! I did run into a minor problem with the Meters script, was getting 6 warnings "ISO C++ forbids converting a string constant to 'char*' " and pointed to 6 lines (44-49) in void setup. Although the script compiled and loaded fine and the meters displayed beautifully on my display, I still did not like having those warnings. Did a little research and learned that Warnings usually mean that your program may or may not work. Those 6 lines called a function (plotLinear() with three parameters, the first of which was "A0" thru "A5". Located the function void plotLinear(char *label, int x, int y) and changed it to void plotLinear(const char *label, int x, int y) and the warnings disappeared. Script compiles and loads and runs just fine.
Thank you for an excellent video. Yes for work with the ESP32 it is all in the TFT_eSPI library and not the Adafruit_ILI9341 library. As for the ILI9488 - forget that one for the moment, but it works well with the Seeeduino Xiao.
I would recommend connecting touch cs to screen cs so you can keep pin 21 for i2c as for instance a bmp pressure sensor will spam the touch with input. Remember to change #define TOUCH_CS. Thanks for the project but i think it needs wiring diagrams.
Is this possible because the touch controller is only sending data to the esp32, and the display controller is only receiving data from the ESP32. So they can technically run at the same time anyway? Does this speed things up so the display doesn't lag behind the touch input?
I'd have to Check but as long as the touch controller waits until the esp32 is ready to receive data after generating its interrupt then should be OK. But would have to examine library's. As if esp32 half way through sending data to screen and starts servicing the touch then could cause corruption. The potential is there, I just haven't looked how the library's work
Can you help with the pin assignment, I dould not understand his example? Display Pins - ESP32 GPIO Pins VCC 5.0V or 3.3V GND GND CS RST DC - I belive is 23 MOSI SCK LED 5.0V or 3.3V MISO TCLK TCS TDIN TDO TIRQ SD_CS SD_MOSI SD_MISO SD-SCK
Thanks for the suggestion, tried examples sdesp32. still errors. 7:26:13.408 -> [W][sd_diskio.cpp:471] ff_sd_initialize(): GO_IDLE_STATE failed 07:26:13.408 -> [E][sd_diskio.cpp:739] sdcard_mount(): f_mount failed 0x(3) 07:26:13.408 -> Card Mount Failed . perhaps I will try the mod. to J1 as suggested in a later video. Thanks again for your quick response. John
I have followed the exact instruction through your very nice explanation, but the TFT display is not completely filled. So I'm missing a small part of the display (show some kind of noise). What am I doing wrong and how can I fix it?
So mostly it works, i. e. You can write stuff to it but a part is just random stuff? I'm wondering if the screen is incorrect resolution. Try drawing a box at the required resolution and see if it all fits one. I think these screens are 320 x 240? Might be wrong, been a bit of a while.
Hello, i already compiled with the correct versions but it does not show images, on the serial monitor it says: ERROR: File "cats.jpg" not found! ERROR: File "girl.jpg" not found! ERROR: File "mountain.jpg" not found! what could be happening? I appreciate the help.
Good info. But when I compile your code, I get the following error. How to fix that? Thanks. Invalid FQBN: getting build properties for board esp32:esp32:esp32: invalid option 'EraseFlash' Compilation error: Invalid FQBN: getting build properties for board esp32:esp32:esp32: invalid option 'EraseFlash'
hello, I have a question so basically we are trying to use the esp32 as a database storage and we need an sd card module for that but using a tft display will occupy the needed pins. So upon seeing this video, can I use the sd card embedded on the tft display as an alternative to store data? Will it work the same as the sd card module? Thanks in advance!!
Thanks so much for this video! I've got a question. These display boards have a jumper "J1" for selecting the voltage. In your case for the ESP32, did you need to short this jumper "J1"? Just want to confirm before I do something stupid with my board...
Yes, short the jumper if using ESP32, leave alone (how they come by default) if using Arduino. Nothing bad happens either way for ESP32 apart from it may not work if you do not short it. Mine worked and then stopped when I added one more component to the project. For Arduino it may break the screen if you short it so leave un-shorted.
There was an omission in the video, I missed a small but essential detail out that affected the touch screen. If you read the video description it explains it.
Thank you very much! I was struggling so bad with my ILI9341. Thanks to you I managed to edit the user_setup.h so it works. The SD-Card won't work, but I guess thats due to the lack of connections on my expansionboard. I've ordered this bundle "Esp32 arduino wifi & bluetooth 2.8 "240*320 smart display bildschirm lcd tft modul mit touch ESP-WROOM-32" from aliexpress and was hopping, that all connections on the ILI9341 were lead to one side. One question: How do you delete the touch-calibration? On the first start after uploading the sketch, the touchscreen had quite a delay and so I've touched the same corner twice...🤦 Now "touch corners as indicated" shows again, but neither my finger nor the pen works. Uploading the sketch again didn't help
I would like to ask that I am using the ESP32 Wroom 38pins version and I am going to design the circuit board for my graduation project now, so I would like to ask you to help me check if there is any mistake in the pin connection. There are two PCBs, a receiver and a transmitter. They all need to communicate wirelessly. This is the pin connection of the transmitter. #define LED1/out G4 #define LED2/out G16 #define LED3/out G17 #define LED4/out G5 #define Button1/in G27 #define Button2/in G26 #define Button3/in G25 #define Button4/in G33 #define Buzzer/out G32 This is the pin connection at the receiver which needs to be connected to a TFT 3.2inch screen. #define TFT_MISO G19 #define TFT_MOSI G23 #define TFT_SCLK G18 #define TFT_CS G15 #define TFT_DC G2 #define TFT_RST G4 #define VCC 3.3V #define LED 3.3V #define GND GND #define LED/output G25 #define Button/input G26 #define Buzzer/output G27
Well, looks OK, but I've never built a receiver, transmitter pair myself. Just get one part working first, either the tft or the receiver stuff. Don't try all at once.
Perfect timing! Got a non touch ili9341, DFplayer Mini and ESP32 in front of me. Problem has been brown outs. Was going to swap for a Bluepill STM32, but will try the Bodmer library before ripping it apart (probably literally lol).
If powering from the computer over usb then check the quality of the cable. I've had some drop quite a bit of voltage by the time it gets to the dev board. Gave me a few headaches once when using an ultra sound sensor. Use shortest quality cable you can. Hope this helps.
I want to make it with the Relative Humidity reader just like you show. Can you show how to make it save data to a data logger? I am doing atmospheric research. I want to create a device that can be worn that will collect data in different environments inside and outside. Because it is wearble, I don't want it bulky or heavy. The data logging is for reviewing at a later date away from the location. Thanks
Did you mean this comment to be under the humidity sensor video I did? Anyways, basically you'll need to hook up to a sd card interface (videos on this) and make the Arduino go into deep sleep to save power (as battery powered) and just save to a text file on sd card in comma delimited format. This will load up straight into excel etc. I've done a weather centre project which shows deep sleep and sd card etc.
I now have my 3.5” TFT touch screen working, I created a menu system as well to change settings on my ESP32 based 2 channel LoRa to wifi gateway, which I designed late last year, I did a video on it at the time but that was with a 2.4” OLED, before I added the TFT.
Hello Defpom, I am struggling with the initial pin assignment at the begining, can you share wiring schematic? Display Pins - ESP32 GPIO Pins VCC 5.0V or 3.3V GND GND CS RST DC - I belive is 23 MOSI SCK LED 5.0V or 3.3V MISO TCLK TCS TDIN TDO TIRQ SD_CS SD_MOSI SD_MISO SD-SCK
Hi, I'm getting a problem configuring the sd card input, i'Ive connected al the wires following the video, but its doesn't work. the problem is the sd card mount failing. me driver is the ST7789. I'm using a 16 gb sd card.
thanks I have just tried and works, but I have an problem, de X and Y are inverted, so instead of shown in "vertical" is it shown in "horizontal" all the examples. how can a fix this? thanks.
How odd, not had that mentioned before. So the X Ord is being reported in Y and Y in X? This seems very odd. All I'd suggest is that in software just re swap them back. Very weird.
On such a display, the image on the screen is rotated horizontally by 180 degrees (that is, the entire display screen). I have tried many libraries, but there is no result. Advise me where to dig?????
Thanks! I'm currently working on my first project that will use an ESP32 instead of an Arduino and this is just what I was hoping for! It''s gonna be a WIFI-enabled clock that uses NTP and JSON over HTTP to retrieve the time and weather forecast and displays the information on an 60 LED ring and TFT screen.
If you take a look at the sources of Bodmer's lib you can see that in some cases he is pulsing the chip select within a method. But in your code it looks like you are wrapping the chip select enable/disable in front of/after the method calls on the lib. Doesn't this affect operation? Or are the ili displays not dependent on these pulsings? I was thinking about replacing the esp's gpio chip select with a gpio expander for all cs lines but just have an mcp23017 (i2c) at home atm which is ok as i am not relying on high update rates. A mcp23s17 (spi) would speed up operation quite a bit though.
Hi! Do you kno if is possible to integrate this lib with a 4' inch display? I've tested with a ILI9488 spi display, but like 30% of the display didn't show anything, I mean were blank, just the others 70%. I use a resolution of: 480 × 320. Thanks
Hello @danilocarra7494 can you help me with the pin assignment, did not get the part where they show the wiring? Display Pins - ESP32 GPIO Pins VCC 5.0V or 3.3V GND GND CS RST DC - I belive is 23 MOSI SCK LED 5.0V or 3.3V MISO TCLK TCS TDIN TDO TIRQ SD_CS SD_MOSI SD_MISO SD-SCK
Thank you very much for this tutorial it helped alot! Unfortunatelly i cant get the screen to work on full screen, there is a 1/4 gap which only shows white. Im using the same components can you help me out?
when i try to do the step of touchscreen there is an error exit status 1 'class TFT_eSPI' has no member named 'getTouch' and i read the text "TFT_eSPI" there is not the function of getTounch could you provide the function plz?
@@XTronical EDIT: Another thing: I didn't understand why you didn't comment on the line // # define TOUCH_CS 21 for ESP32, since this pin is being used for the touch of the display? Or am I wrong?
Hey, well spotted, that was an omission, I'll put a note in the description and on the project page for this. Thank you very much for noticing. It should be as you mentioned commented out
For anyone with touch issues using the most recent version of tft_espi. Make sure to disconnect sdo(miso) it should be connected to nothing. Connect t_clk to pin 18. Fixed my issue.
As you can see in the video it all works. And if you look through the comments you will see it's worked for many people. Did you use the exact same version of the library and did you read the pinned comment about the bit I missed about the touch screen? I think it's mentioned in the video description too. Did you read that?
@@XTronical this was a video from 2 years ago. I'm assuming the version I am using is different. I apologize for coming off blaming you for the issue. Let me edit the comment. Thanks for your content btw!
It's technically possible but video would need to be uncompressed and only run around 12 fps. You would need to store this internally as well for speed so you'd only get maybe 3 secs of video.
Four years after publishing this video, you got me over the hump! I've been stuck trying to get this display to work with the ESP32 and I just needed your guidance. THANKS from the Midwest USA!
Hey, thanks very much for the appreciation. I plan to revisit this. Using latest library. I was frustrated four years ago at the lack of a simple guide. Hence the video.
@@XTronical that would be great! I was somehow unaware of this library and the anti-aliasing is a game changer.
Hey also I built the similar one and achive to play video on tft display 320x240 at 25 fps using esp32, even I can see the live camera footage on this screen when using with esp32 cam module
This is a great video! Informative, slow enough to follow, quick enough to keep me awake! I DETEST videos that don't have commentary. This guy does it very well, he is very clear. Saving this video!
I struggled getting my screen to work, and did not know that SPI is a share bus. Thanks! You saved me allot of time, you got my like.
I juat want to add my thanks and appreciation for the terrific tutorial. It really helped me with my ESP32 ILI9488 project. The video was informative and your presentation style is fantastic. Nice and breezy. You have helped a lot of people. Thanks again.
While I have your attention, I used the example sketches to test each of these functions separately. (TFT, Touch, SD Card) They all worked great when modified separately for my application. I then integrated them into my main application one by one. The TFT and Touch functions work great together but I get compile errors when I add in the SD Card code. I am certain there is some conflict with the FS/SPIFFS/LittleFS/SD libraries and the JPEGDecode library. Have you been able to develop code with all three of these features integrated into one application?
My first time on this channel, you are a ‘human’ computer trainer, I really felt that I had learned something and had control of what I was doing, not just blindly following. Thank you.
I skimmed over this video thinking it was too long, wasted 2-3 days worth of "research' to end up back here realizing it's the best all-in-one resource for learning the screen lol I don't deserve your wisdow but appriciate it none the less :D
Your kind comments are welcomed. Thank you
I have searched 1 day long till i can make working my ILI9488 tft with nodemcu, but thats was the only one tutorial what worked, thjank you for the tutorial.
Hello @XPERIA80, I am working with an Elecrow 3.5in,. ILI9488 TFT dislplay with an ESP32-Wrover-B micro and SD card reader/writing. Would you mind if I contacted you to hear about your project and assistance?
ThaTFT SPI ILI9341 Display working and after fixing the omission inn the setup file for touch_CS, touch screen with buttons is working. Such a thrill to finally get access to all the examples and to see it all compile. I will now work on filling a SD card with pictures and scrolling through them . You are one of the best ESP32 teachers on TH-cam and have helped me immensely. I agree, a superb video.
That's great, glad it helped.
Dear Sir, you are the only one that really makes my devices works properly. Thank you so much.
Thanks for a complete detailed video. I discovered that I needed to supply +5VDC to the VIN pin. I was not getting enough current from the USB cable.
I've had similar issues with ultrasound sensors
This is awesome!!! THere is just one detail, pins 21 and 22 are default for I2C on ESP32, and since I'm using SPI and I2C, I need to change CS pin, but all good, just would like to warn oter person when developing projects to take this in consideration.
How to change these ports? i would like to connect an ADS1115 to the ESP throu I2C.
Unfortunately this video will only work for I2S on this type of screen.
I got it by my self (: but thx for Response. Just changed the Touch cs pin to 13 i think...
How to change to different pin if I need to keep it available for I2C connection?
Which pin should I use? Do I need to modify user.setup.h?
@@cooljackwi If I change t_cs to 13, do I need to edit user.setup.h?
I got Compilation error: no matching function for call to 'min(uint16_t&, uint32_t)'. Fixed it by changing min() function to jpg_min().
Awesome tutorial. You should get more views my friend! I will be sharing this with my buddies!
Thank you very much for your kind words
Man, what can I say about this video. Hmm..great is an understatement. What a superb video. Thanks a lot. You have just answered all the questions that I had about this type of LCD and its connections to esp32. Thanks a lot.
Your welcome, glad it helped.
I used this video to better understand the wiring of the display and how to use TFT _eESP library to get my touchscreen working with my Wemos D5 mini and it finally works, thanks a lot!
One of the best ILI9341 tutorials with TFT_eSPI and touch functionality! Many thanks!!
Thank you
Thanks so much. I have used tft_espi many times but haven't used it lately. I drew a complete blank...until I found your video! Great Job.
Thank you for the positive comments
Thank you very much for your video! All the guides for similar displays assume the touchscreen's SPI is connected to the display's SPI, and so the only wire you need is the T_CS wire. It wasn't working. I needed your video to understand that with this particular board, I have to manually short their SPI wires myself!
Dude thanks so much, this is the exact vid I was waiting for! There aren’t enough display tutorials for non-Arduino boards
Great, it's fantastic when things are actually useful ☺️
This helped me wire up and ILI9486 and get touch working using TFT_eSPI. Thanks for the jump start.
I love most of your videos but this one is a stand-out. A few other videos have tackled these boards, but none that I recall tackled all three functions; display, touch, and SD.
Useful content, clearly presented!
Thanks very much, comments like this make things worth while.
THANK YOU! 4 days trying to make an TFT ILI9488 Display to work.
I almost gave up, then TH-cam randomly recommended this video.
It really works! 🥲
Thank you!
Yes, I had same problem, most videos lacked detail, weren't clear or were wrong. I managed to cobble several sources together and get it working so put it all together in detail
Hello @joaoliduarario, I can not get the pin assignement part of the vidio, can you coach me with that beging part of the video?
I saw this video just at the point where I was moving my TFT display from Arduino UNO, to a faster, more memory MCU, since I wanted to add an SD card. Good timing!
Star quality! I've just got one of these screens but no guide or manual. I don't need either now. Thank you very much.
All very helpful. I wired everything up as all the diagrams that I found, modified my TFT_eSPI setup file with the right settings, turned on and nothing. After a while, I tried following your instructions to the letter, wire colours and all and it worked, even though everything I had done was exactly what you did, though I used an orange wire for CLK and a green for data, so maybe that was it. (Only kidding, I suspect that I've got a duff wire or a duff connection on my breadboard), but hey, thanks.
Forget TFT_Meters, the TFT_Matrix example is super!
Brilliant, ha ha deffo colours matter lol. Thanks for the tip.
Awesome instructional video. This was the best esp32 / eSPI video by far. Loved how you went through the steps very clearly with visuals. Thank you very much.
hey did you get any output on display? I am getting only white display. please help
Me too, but I'm getting an image using a different adafruit example with exactly the same pins defined and wiring.
The example in this video compikes, uploads and runs, but the display is solid white. The output from the touch is also just pegged at z 4000 odd and x&y stuck at zero.... They move a bit when I touch it but y stays at zero
Great demo and clear explanation. Ordered my screen today - thanks for taking the time to put this together!
Fantastic, thanks for the feedback. Glad it helped
Such a clear and concise video tutorial. Followed it precisely and all worked first time opening up my understanding of how to configure these displays for all sorts of projects I've now in mind. Thank you so much to taking the time and trouble to produce this excellent video. Brian Campbell (Bsc)
Great stuff, glad it all worked.
Magnificent guide - I now have the Display section up. Didn't work first time - tried in Arduino 2.0.0 rc9.4 - lots of critical errors compiling - updated library, boards etc still failed Using ESP32 Wemos Lolin32 and 2.8" ILI9341 TFT LCD. errors like undefined min(_h,_w) etc, got the latest tft_eSPI from GIT hub, same no matter what example I tried. So I deleted all my arduino installations, and folders, Libraries etc. Then installed fresh IDE 2.0.0 Rc9.4, added ESP 32 boards , added tft_eSPI from the IDE 2.4.72, edited the User_Setup.h file as advised, compiled with a few warnings about the Changed pin assignments - but no errors, Uploaded - and I'm a happy man! many happy displays. ( TFT_Meters.ino example)
Well done, great determination there 👍
I got this right up and running no problem with your help. Sadly Amazon sent me a cracked screen so I only got to see the analog bars tonight haha.
Great guide ! thank you for taking the time to talk through the SD JPEG - I had to remap the SPI to get it to work
SPIClass spi = SPIClass(HSPI);
spi.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
if (!SD.begin(SD_CS, spi, 80000000)) {
Serial.println("Card Mount Failed");
return;
}
uint8_t cardType = SD.cardType();
if (cardType == CARD_NONE) {
Serial.println("No SD card attached");
return;
}
Best video explaining this! Been searching for this for ages! Thx!
I've had a collection of the screens for a couple of years!! Finally get to use them 💪
Brilliant
Great presentation! I did run into a minor problem with the Meters script, was getting 6 warnings
"ISO C++ forbids converting a string constant to 'char*' "
and pointed to 6 lines (44-49) in void setup. Although the script compiled and loaded fine and the meters displayed beautifully on my display, I still did not like having those warnings. Did a little research and learned that Warnings usually mean that your program may or may not work. Those 6 lines called a function (plotLinear() with three parameters, the first of which was "A0" thru "A5". Located the function
void plotLinear(char *label, int x, int y) and changed it to
void plotLinear(const char *label, int x, int y)
and the warnings disappeared. Script compiles and loads and runs just fine.
REALLY???
I'm gonna try that, mine refused to compile on that error.
Thank you for an excellent video. Yes for work with the ESP32 it is all in the TFT_eSPI library and not the Adafruit_ILI9341 library. As for the ILI9488 - forget that one for the moment, but it works well with the Seeeduino Xiao.
Thank you so much! This is a great explanatory video! Now I know my display works and I don't have to buy another one hehehe
A superb tutorial! But is it right you already use D21 for CS of the SD? Should the CS of the touchpad be changed to D5 as in your video?
Yes, as they both need there own CS
Hi XTronical, fantastic video, Very Very helpful, thanks for posting this.
oh man so many thanks to you. that was straight forward (:
Great video, but when I try to display the image, I only see a small portion of it, whether it's with your images or mine. Any ideas?
I would recommend connecting touch cs to screen cs so you can keep pin 21 for i2c as for instance a bmp pressure sensor will spam the touch with input.
Remember to change #define TOUCH_CS.
Thanks for the project but i think it needs wiring diagrams.
Is this possible because the touch controller is only sending data to the esp32, and the display controller is only receiving data from the ESP32. So they can technically run at the same time anyway? Does this speed things up so the display doesn't lag behind the touch input?
I'd have to Check but as long as the touch controller waits until the esp32 is ready to receive data after generating its interrupt then should be OK. But would have to examine library's. As if esp32 half way through sending data to screen and starts servicing the touch then could cause corruption. The potential is there, I just haven't looked how the library's work
Can you help with the pin assignment, I dould not understand his example?
Display Pins - ESP32 GPIO Pins
VCC 5.0V or 3.3V
GND GND
CS
RST
DC - I belive is 23
MOSI
SCK
LED 5.0V or 3.3V
MISO
TCLK
TCS
TDIN
TDO
TIRQ
SD_CS
SD_MOSI
SD_MISO
SD-SCK
Awesome video with great explanations, thank you very much!!
Top Quality Video keep up the good work Bro...
Thanks, just what I needed. Touch and SD card very good explained.thanks.
Thanks for the feedback
Um dos melhores videos sobre display TFT
Congratulations on the excellent tutorial.
HELP!!! every time I connect the MOSI pin to the touch the SD card won't initialize!
You're my hero. Saved the day🎉
I love your clear explanations. Thank you for sharing this video
Can use this technique for NodeMCU instead of ESP32 ?
Not without some changes, i.e. the pins will be different for a start.
Thanks for this great vid. It was super easy to follow and you explained things really well 👍
Thank you for this. Very clear and I'll be referencing this for a project.
thanks lot, I was so much in need of such video.
Thanks for the suggestion, tried examples sdesp32.
still errors.
7:26:13.408 -> [W][sd_diskio.cpp:471] ff_sd_initialize(): GO_IDLE_STATE failed
07:26:13.408 -> [E][sd_diskio.cpp:739] sdcard_mount(): f_mount failed 0x(3)
07:26:13.408 -> Card Mount Failed
.
perhaps I will try the mod. to J1 as suggested in a later video.
Thanks again for your quick response.
John
No worries, sorry I couldn't help more.
I have followed the exact instruction through your very nice explanation, but the TFT display is not completely filled. So I'm missing a small part of the display (show some kind of noise). What am I doing wrong and how can I fix it?
So mostly it works, i. e. You can write stuff to it but a part is just random stuff? I'm wondering if the screen is incorrect resolution. Try drawing a box at the required resolution and see if it all fits one. I think these screens are 320 x 240? Might be wrong, been a bit of a while.
Did you ever fix this error? I am having the same problem
Hello, i already compiled with the correct versions but it does not show images, on the serial monitor it says:
ERROR: File "cats.jpg" not found!
ERROR: File "girl.jpg" not found!
ERROR: File "mountain.jpg" not found!
what could be happening?
I appreciate the help.
is it possible to be connected to a voice sensor for command saying "NEXT" which the picture slides next?
I have a lot to learn, this video is very helpful, Thank You! 👍❗
why my display not full screen?? i use ili 9341 240x320
pls helpp
Good info. But when I compile your code, I get the following error.
How to fix that?
Thanks.
Invalid FQBN: getting build properties for board esp32:esp32:esp32: invalid option 'EraseFlash'
Compilation error: Invalid FQBN: getting build properties for board esp32:esp32:esp32: invalid option 'EraseFlash'
Very nice explanation! Many thanks from a beginner maker
hello, I have a question so basically we are trying to use the esp32 as a database storage and we need an sd card module for that but using a tft display will occupy the needed pins. So upon seeing this video, can I use the sd card embedded on the tft display as an alternative to store data? Will it work the same as the sd card module? Thanks in advance!!
Awesome video! Its my goto video for the wiring connections!
Thanks so much for this video! I've got a question. These display boards have a jumper "J1" for selecting the voltage. In your case for the ESP32, did you need to short this jumper "J1"? Just want to confirm before I do something stupid with my board...
Yes, short the jumper if using ESP32, leave alone (how they come by default) if using Arduino. Nothing bad happens either way for ESP32 apart from it may not work if you do not short it. Mine worked and then stopped when I added one more component to the project. For Arduino it may break the screen if you short it so leave un-shorted.
hi good video, do you have a schematics for the wire connection, the touch don't work me, thanks
There was an omission in the video, I missed a small but essential detail out that affected the touch screen. If you read the video description it explains it.
@@XTronical i change this before the question and dont work
Oh, sorry. I don't have a schematic, just the explanation in the video and images.
Thank you very much! I was struggling so bad with my ILI9341. Thanks to you I managed to edit the user_setup.h so it works.
The SD-Card won't work, but I guess thats due to the lack of connections on my expansionboard. I've ordered this bundle "Esp32 arduino wifi & bluetooth 2.8 "240*320 smart display bildschirm lcd tft modul mit touch ESP-WROOM-32" from aliexpress and was hopping, that all connections on the ILI9341 were lead to one side.
One question: How do you delete the touch-calibration? On the first start after uploading the sketch, the touchscreen had quite a delay and so I've touched the same corner twice...🤦
Now "touch corners as indicated" shows again, but neither my finger nor the pen works. Uploading the sketch again didn't help
I would like to ask that I am using the ESP32 Wroom 38pins version and I am going to design the circuit board for my graduation project now, so I would like to ask you to help me check if there is any mistake in the pin connection. There are two PCBs, a receiver and a transmitter. They all need to communicate wirelessly.
This is the pin connection of the transmitter.
#define LED1/out G4
#define LED2/out G16
#define LED3/out G17
#define LED4/out G5
#define Button1/in G27
#define Button2/in G26
#define Button3/in G25
#define Button4/in G33
#define Buzzer/out G32
This is the pin connection at the receiver which needs to be connected to a TFT 3.2inch screen.
#define TFT_MISO G19
#define TFT_MOSI G23
#define TFT_SCLK G18
#define TFT_CS G15
#define TFT_DC G2
#define TFT_RST G4
#define VCC 3.3V
#define LED 3.3V
#define GND GND
#define LED/output G25
#define Button/input G26
#define Buzzer/output G27
Well, looks OK, but I've never built a receiver, transmitter pair myself. Just get one part working first, either the tft or the receiver stuff. Don't try all at once.
Very useful , thnx , got mine working thanks to your video...
Brilliant
Outstanding tutorial. Thank you for your hard work and I look forward to following you.
Perfect timing! Got a non touch ili9341, DFplayer Mini and ESP32 in front of me. Problem has been brown outs. Was going to swap for a Bluepill STM32, but will try the Bodmer library before ripping it apart (probably literally lol).
If powering from the computer over usb then check the quality of the cable. I've had some drop quite a bit of voltage by the time it gets to the dev board. Gave me a few headaches once when using an ultra sound sensor. Use shortest quality cable you can. Hope this helps.
It does help, thanks, forgot all about daft 40 gauge wires with the oversized sleeving - this will be one! Thanks for your fast reply too :)
I want to make it with the Relative Humidity reader just like you show. Can you show how to make it save data to a data logger? I am doing atmospheric research. I want to create a device that can be worn that will collect data in different environments inside and outside. Because it is wearble, I don't want it bulky or heavy. The data logging is for reviewing at a later date away from the location. Thanks
Did you mean this comment to be under the humidity sensor video I did? Anyways, basically you'll need to hook up to a sd card interface (videos on this) and make the Arduino go into deep sleep to save power (as battery powered) and just save to a text file on sd card in comma delimited format. This will load up straight into excel etc. I've done a weather centre project which shows deep sleep and sd card etc.
If both CS are running on PIN 5, it does not work. For SD another PIN should be selected. In the setup SD.begin(PIN_X) should be called.
I now have my 3.5” TFT touch screen working, I created a menu system as well to change settings on my ESP32 based 2 channel LoRa to wifi gateway, which I designed late last year, I did a video on it at the time but that was with a 2.4” OLED, before I added the TFT.
Hello Defpom, I am struggling with the initial pin assignment at the begining, can you share wiring schematic?
Display Pins - ESP32 GPIO Pins
VCC 5.0V or 3.3V
GND GND
CS
RST
DC - I belive is 23
MOSI
SCK
LED 5.0V or 3.3V
MISO
TCLK
TCS
TDIN
TDO
TIRQ
SD_CS
SD_MOSI
SD_MISO
SD-SCK
Hi, I'm getting a problem configuring the sd card input, i'Ive connected al the wires following the video, but its doesn't work. the problem is the sd card mount failing. me driver is the ST7789. I'm using a 16 gb sd card.
What's your size of SD, max 32gb
thanks I have just tried and works, but I have an problem, de X and Y are inverted, so instead of shown in "vertical" is it shown in "horizontal" all the examples. how can a fix this? thanks.
How odd, not had that mentioned before. So the X Ord is being reported in Y and Y in X? This seems very odd. All I'd suggest is that in software just re swap them back. Very weird.
Great Video...you solved my issue and saved me a ton of time!!!!
On such a display, the image on the screen is rotated horizontally by 180 degrees (that is, the entire display screen). I have tried many libraries, but there is no result. Advise me where to dig?????
Is your image set to the correct resolution?
Is there a video on 3.5" TFT LCD ILI9486 with ESP32 board?
Thanks!
I'm currently working on my first project that will use an ESP32 instead of an Arduino and this is just what I was hoping for!
It''s gonna be a WIFI-enabled clock that uses NTP and JSON over HTTP to retrieve the time and weather forecast and displays the information on an 60 LED ring and TFT screen.
Cool, I did a weather forecast with esp32 and a paper display if that helps
th-cam.com/video/jsJmmmYtgcw/w-d-xo.html
Is there a similar library for esp-idf?
If you take a look at the sources of Bodmer's lib you can see that in some cases he is pulsing the chip select within a method.
But in your code it looks like you are wrapping the chip select enable/disable in front of/after the method calls on the lib.
Doesn't this affect operation? Or are the ili displays not dependent on these pulsings?
I was thinking about replacing the esp's gpio chip select with a gpio expander for all cs lines but just have an mcp23017 (i2c) at home atm which is ok as i am not relying on high update rates. A mcp23s17 (spi) would speed up operation quite a bit though.
Thank you very much, it works like a charm, so fast: incredible !!!!
Brilliant, thanks for the feedback
Just got my screen in the mail today.
Hi!
Do you kno if is possible to integrate this lib with a 4' inch display? I've tested with a ILI9488 spi display, but like 30% of the display didn't show anything, I mean were blank, just the others 70%. I use a resolution of: 480 × 320. Thanks
Hello @danilocarra7494 can you help me with the pin assignment, did not get the part where they show the wiring?
Display Pins - ESP32 GPIO Pins
VCC 5.0V or 3.3V
GND GND
CS
RST
DC - I belive is 23
MOSI
SCK
LED 5.0V or 3.3V
MISO
TCLK
TCS
TDIN
TDO
TIRQ
SD_CS
SD_MOSI
SD_MISO
SD-SCK
I'm using my ili9341 with an ESP32 in 8 bit parallel mode. I has no idea that these screens can be so fast. It makes SPI seem sluggish.
Thank you very much for this tutorial it helped alot! Unfortunatelly i cant get the screen to work on full screen, there is a 1/4 gap which only shows white. Im using the same components can you help me out?
I don't think I've heard of that before. Does that appear before even drawing anything on screen?
Why i have white screen all time? Esp32 wroom 32d
Thank you! Great library!
Thank you for the feedback
Thank you! very helpful introduction!
hi there is there a big display for esp32 available like the one used in this video but it is not touch screen but a simple diplay?
I like your style, MATE. Subscribed.
Cheers
Great! for: drawSdJpeg(const char *filename, int xpos, int ypos), if set ypos < 0, doesn't show, why?
Not sure, are you using same version of the library?
@@XTronical Thanks, I guess it is the Library, TJpg_Decoder works.
A fantastic video. Many thanks.
when i try to do the step of touchscreen
there is an error
exit status 1
'class TFT_eSPI' has no member named 'getTouch'
and i read the text "TFT_eSPI"
there is not the function of getTounch
could you provide the function plz?
oh i see the comment , just need to sure using the same version with you
Could you detail how to connect the Display SPI and Touch pins to the ESP32? Thank you
The video does show this, have you found it now?
@@XTronical EDIT: Another thing: I didn't understand why you didn't comment on the line // # define TOUCH_CS 21 for ESP32, since this pin is being used for the touch of the display? Or am I wrong?
Hey, well spotted, that was an omission, I'll put a note in the description and on the project page for this. Thank you very much for noticing. It should be as you mentioned commented out
How connect the same tft and ESP32 but TFT is ST7789V
Check if this library supports that screen, it supports lots but cannot remember which off top of my head
For anyone with touch issues using the most recent version of tft_espi. Make sure to disconnect sdo(miso) it should be connected to nothing. Connect t_clk to pin 18. Fixed my issue.
As you can see in the video it all works. And if you look through the comments you will see it's worked for many people. Did you use the exact same version of the library and did you read the pinned comment about the bit I missed about the touch screen? I think it's mentioned in the video description too. Did you read that?
@@XTronical this was a video from 2 years ago. I'm assuming the version I am using is different. I apologize for coming off blaming you for the issue. Let me edit the comment. Thanks for your content btw!
iam using esp32 dev kit 1, with ILI9341_DRIVER but it white blank need help for this
This guide uses the tft _espi driver
@@XTronicali think we have same device , i using TFT_eSPI by Bodmer version 2.3.54 , but have blank result
Ahh, right miss understood. Others that have had similar issues have so far found it was a wiring issue. It's worth checking very thoroughly.
@@XTronical i check my wiring is the same with the User_setup and i installed the same version in the tutorial 2.2.
@@XTronical i was check the wiring 4x time, use same library version but same , i have blank screen
Sir great video but is it possible to play continuous video on it?
It's technically possible but video would need to be uncompressed and only run around 12 fps. You would need to store this internally as well for speed so you'd only get maybe 3 secs of video.
Thank you for this tutorial. Very informative and time saving. Do you know if anybody has had problems with using these pins while using the wifi?
I don't think anyone has said either way, sorry can't be more helpful
@@XTronical That's good news then. Thanks for the reply :)