ESP32 Project - Fast Jpeg images in 3.2-inch TFT LCD (ILI9341)

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ก.ค. 2019
  • In this video, I show you how to use 3.2-inch SPI TFT LCD with ESP32. For making jpeg showing up, you need an ESP32, Adafruit libraries, SPIFF, and jpeg decoder.
    To get a high speed of SPI, you need to use the correct IO pin.
    I hope the video is helpful for all students.
    [Hardware]
    - WEMOS LOLIN32 Lite
    - 3.2 inch 320*240 SPI Serial TFT LCD Module Display Screen with Touch Panel Driver IC ILI9341 for MCU
    [ESP32 INSTALL]
    randomnerdtutorials.com/insta...
    [Adafruit ILI9341 Driver]
    github.com/adafruit/Adafruit_...
    [Arduino esp32fs plugin]
    github.com/me-no-dev/arduino-...
    [Arduino JPEGDecoder library]
    github.com/Bodmer/JPEGDecoder
    [JPEG Functions]
    github.com/Bodmer/JPEGDecoder...
    [Adafruit library]
    - adafruit gfx
    - adafruit adafruit ili9341
    [EZGIF]
    ezgif.com
    [Project Github Link]
    github.com/0015/IdeasNProject...
    Music:
    Music provided by NoCopyRightSounds from TH-cam.
    #ESP32 #Arduino #Projects #SPIFF #ILI9341 #TFTLCD #Jpeg #Gif #App
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 63

  • @ThatProject
    @ThatProject  3 ปีที่แล้ว +1

    Subscribe - th-cam.com/users/ThatProject

  • @jedandecko5585
    @jedandecko5585 4 ปีที่แล้ว +1

    Thank you on this video tutorial. I`v been searching for this for months :)
    Keep up the good work.

  • @michaelsczesny688
    @michaelsczesny688 3 ปีที่แล้ว +2

    perfect instruction. exactly what i was looking for
    Thank you

  • @mohammedmohsen723
    @mohammedmohsen723 11 หลายเดือนก่อน

    Man i like to watch ur vids when i'm depressed it makes me feel better thank u

  • @TheVirtualkillerz
    @TheVirtualkillerz 3 ปีที่แล้ว

    Wow cool tutorial bro. Is it the same for nodemcu esp8266 as well? and is there a possibility of saving those images in the memory card (behind the display) and use them??

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      TheVirtualkillerz Hi. Yes, it's working on ESP8266. You need to check the hardware pins to make it fast drawing. One of my projects shows a drawing Google map on the Node MCU with a similar display. I hope it'd be helpful.
      There is a lot of tutorial to use SD card so I hope you can find it from google. I've not dealt with using the SD card in my projects.

  • @junhaozhang533
    @junhaozhang533 2 ปีที่แล้ว

    Great playlist! does it run on esp8266? or the 8266 just does not have enough power to do ?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      ESP8266 is good enough. Just check the size of SPIFFS.

  • @alexanderskorokhodov9453
    @alexanderskorokhodov9453 3 ปีที่แล้ว

    Great, thanks for video.
    Have you compared adafruit lib with TFT_eSPI (Bodmer)?
    I suppose last one would be faster.

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      Use Bodmer's TFT_eSPI. I strongly recommend it.

    • @ragesmirk
      @ragesmirk 3 ปีที่แล้ว

      @@ThatProject Why is the gif so slow? any way to make it faster ?? not fluid enough

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      @@ragesmirk To make it faster, you have to eventually raise the FPS in this hardware, but there's no breakthrough at the moment.

    • @ragesmirk
      @ragesmirk 3 ปีที่แล้ว

      @@ThatProject I've found a breakthrough, I use github.com/bitbank2/AnimatedGIF runs very smooth. Up to 30FPS

    • @clm2615
      @clm2615 3 ปีที่แล้ว

      @@ragesmirk Which exemple of the library did you use?

  • @jumbo999614
    @jumbo999614 3 ปีที่แล้ว

    Do you have other video that teach how to wire ESP32 to touch pins and create touch menu on the screen?

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      This video is for ILI9488 instead of ILI9341 but almost the same. Check it out. th-cam.com/video/OXUZEHMFFwc/w-d-xo.html

  • @elizabethventura7976
    @elizabethventura7976 ปีที่แล้ว

    I need to use an SD card because there are many images in my project and it exceeds the memory of SPIFFS. Could you help me?

    • @ThatProject
      @ThatProject  ปีที่แล้ว

      There are many examples of using SD cards on ESP32 on Google. randomnerdtutorials.com/esp32-microsd-card-arduino/

  • @jumbo999614
    @jumbo999614 3 ปีที่แล้ว

    I just ordered TFT touch screen from online market. It has the exact pin layout except that it is 2.8" 240x320. Will the code work on my TFT?

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      Pal Sih Hi. I think it’s working same as mine.

    • @jumbo999614
      @jumbo999614 3 ปีที่แล้ว

      @@ThatProject Thank you

  • @Tony770jr
    @Tony770jr 3 ปีที่แล้ว

    Is there a way to download a jpg image from a website, say weather radar map every few minutes and display on the tft with out saving in spiffs, just a ram array?

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      Unfortunately, there is no good solution. Why can't you save it in SPIFFS and show it every few minutes?

    • @Tony770jr
      @Tony770jr 3 ปีที่แล้ว

      @@ThatProject because spiffs has limited read writes, so ram is better. The jpg file size is about 50k bytes, so the should be enough ram to store the image until it's passed to the tft.
      I guess the hard part is downloading the jpg from a url.

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      @@Tony770jr Well, you can save the file size up to 1MB in the default partition scheme in SPIFFS. Anyway, if your problem is to download an image file from a URL, this would be helpful. github.com/Bodmer/TJpg_Decoder/blob/master/examples/Web_Jpg/Web_Fetch.h

  • @aryanthappa9307
    @aryanthappa9307 2 ปีที่แล้ว

    Hey I m using 1.3 inch TFT display with ST7789 driver any suggestion like what should i change in the project to make it work ?

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      First, prepare the jpeg image files. It's recommended that the resolution of these images be the same as the resolution of your display. Then put the images into SPIFFS. You are using ESP32 and the TFT_eSPI library, right?

    • @aryanthappa9307
      @aryanthappa9307 2 ปีที่แล้ว

      ​@@ThatProjectBasically Sir i want to make project in which ESP32CAM is connected to the 1.3 inch TFT Display with Driver IC ST7789 with a real time view like a camera. So i followed your project and watched one of your video related to what i want (( ESP32CAM to ESP32 (feat. TFT LCD) )) in that you have used 3.2-inch TFT LCD (ILI9341). So i wanted to know sir like what changes i have to do according to my display (i m following your way to make it) to make it work...

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      @@aryanthappa9307 If so, all you need is that set up your display in the user_setup.h in TFT_eSPI. After that, you upload my source code into your ESP32. That's it.

    • @aryanthappa9307
      @aryanthappa9307 2 ปีที่แล้ว

      @@ThatProject After setting up what i have to do with the user_setup.h? like i have to open that also while uploading the code in ESP32?

  • @felanino2081
    @felanino2081 4 ปีที่แล้ว

    Hi, good tutorial..can you do a tutorial same as this but with the HUB75 LED RGB 64x64pixels Panel?

    • @ThatProject
      @ThatProject  4 ปีที่แล้ว +1

      Felani Mohd Tauhed It looks good. I wanna make project with this one if I have a chance. Thanks.

  • @Hararion
    @Hararion ปีที่แล้ว

    i just replicate this project, but i change the hardware, i use an esp32 devkitv1 with the 1.8" tft ST7735, just change the parts inside the code to fit the new hardware, but i'm getting this error :
    Arduino\libraries\Adafruit_ST7735_and_ST7789_Library/Adafruit_ST77xx.h:111:8: error: 'virtual void Adafruit_ST77xx::begin(uint32_t)' is protected
    void begin(uint32_t freq = 0);
    ^
    jpgscreen:27:13: error: within this context
    tft.begin();
    this means that in the sketch, the line with the " tft.begin " command makes the Adafruit_ST77xx.h to fail, i open that file in question, but at the end of the file there are some lines that are under a protected tag... i don't understand how this is not working... anyone have a solution?
    protected:
    uint8_t _colstart = 0, ///< Some displays need this changed to offset
    _rowstart = 0, ///< Some displays need this changed to offset
    spiMode = SPI_MODE0; ///< Certain display needs MODE3 instead
    void begin(uint32_t freq = 0);
    void commonInit(const uint8_t *cmdList);
    void displayInit(const uint8_t *addr);
    void setColRowStart(int8_t col, int8_t row);

  • @Tony770jr
    @Tony770jr 3 ปีที่แล้ว

    Would it work faster if the images were bitmap files instead of jpg?

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      Yeah, I believe so. Decoding Jpeg takes more extra time compared to Bitmap. However, the problem with the bitmap is size.

  • @bobdole27
    @bobdole27 3 ปีที่แล้ว

    So this could potentially be used to make a UI right, at least thats what im thinking

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว +1

      Yes, that's right. I think this can be the beginning of making the UI.

  • @lanedj801
    @lanedj801 2 ปีที่แล้ว

    Sketchbook won’t show up. Idk if my file structure is wrong but it won’t see it

    • @lanedj801
      @lanedj801 2 ปีที่แล้ว

      ESP32FS needs to dropped in “tools” folder

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      @@lanedj801 Install this, github.com/me-no-dev/arduino-esp32fs-plugin/releases/
      Then you can see the ESP32 Sketch Data Upload in your Arduino.

  • @xyzoohappy
    @xyzoohappy 3 ปีที่แล้ว

    Great!

  • @rizkylevy8154
    @rizkylevy8154 2 ปีที่แล้ว +1

    Can I use esp32 v1 devkit?

  • @qigao5458
    @qigao5458 3 ปีที่แล้ว

    Hi,very good tutorial.How to support a four-inch screen.

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว

      qi gao Hello. What kind of display do you have? 4 inch what?

    • @qigao5458
      @qigao5458 3 ปีที่แล้ว

      @@ThatProject 480*480p TP IPS

    • @qigao5458
      @qigao5458 3 ปีที่แล้ว

      @@ThatProject
      This TFT. TP + 480*480P +ISP
      item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.77.c1797484QzI25O&id=615401695765

  • @9065killer
    @9065killer 2 ปีที่แล้ว

    can you help me , to ILI9255 LCD ? great video

    • @ThatProject
      @ThatProject  2 ปีที่แล้ว

      Please check this post. www.hackster.io/Arnov_Sharma_makes/getting-started-with-ili9255-tft-lcd-378331

  • @usmanumer9871
    @usmanumer9871 3 ปีที่แล้ว

    how to play video on tft via SD card

    • @ThatProject
      @ThatProject  3 ปีที่แล้ว +1

      Well, I've never tried to play a video file from ESP32. I hope this would be helpful for you.
      www.instructables.com/Play-Video-With-ESP32/

  • @MrSasha3050
    @MrSasha3050 3 ปีที่แล้ว +1

    Music could be better 😏

  • @FlyBy2507
    @FlyBy2507 4 ปีที่แล้ว +1

    I fell asleep...

    • @ThatProject
      @ThatProject  4 ปีที่แล้ว +2

      FlyBy2507 sorry;; set the video speed 2x.

    • @FlyBy2507
      @FlyBy2507 4 ปีที่แล้ว

      @@ThatProject :-D Well done.

    • @Mauricetz
      @Mauricetz 4 ปีที่แล้ว

      @@ThatProject The music sounds good at 2x speed :)

  • @truongnghenhan3619
    @truongnghenhan3619 5 หลายเดือนก่อน

    I am having a problem with LitteFS when I run final code, can you help me?
    E (941) esp_littlefs: ./components/esp_littlefs/src/littlefs/lfs.c:1225:error: Corrupted dir pair at {0x0, 0x1}
    E (941) esp_littlefs: mount failed, (-84)
    E (944) esp_littlefs: Failed to initialize LittleFS

    • @ThatProject
      @ThatProject  5 หลายเดือนก่อน

      How did you use LittleFs instead of SPIFFS? Have you checked the official example of it? Arduino IDE> Examples> LittleFS> LITTLEFS_Test