7 Inch ESP32-S3 Random Screen Shift

edited November 2023 in Elecrow HMI Display

Based on lvgl and moonoverournation example in the Wiki PlatformIO_7inch.zip (elecrow.com) Here: ESP32 Display 7.0'' Intelligent Touch Screen Wi-Fi&BLE 800*480 HMI Display - Elecrow

Over time as the code runs the screen will randomly shift / offset to the right and wrap around.

Can anyone help with this random undesired behavior?

Comments

  • Hello @rhenry74 ,

    The issue you are facing can be resolved by installing version 2.0.3 of the ESP32 package. Please try changing the version of ESP32 and we look forward to receiving your feedback.

    And you can try reducing the screen refresh rate to see if it helps.

  • edited November 2023

    It looks like, according to the platformio.ini file, the ESP32 package is already version 2.0.3.

    The refresh rate setup in your lv_conf.h is 30 FPS. I already have a delay in loop() to lower it to 20 FPS. How low should I have to lower the FPS to get stable performance?

    ; PlatformIO Project Configuration File
    ;
    ;   Build options: build flags, source filter
    ;   Upload options: custom upload port, speed and extra flags
    ;   Library options: dependencies, extra library storages
    ;   Advanced options: extra scripting
    ;
    ; Please visit documentation for the other options and examples
    ; https://docs.platformio.org/page/projectconf.html
    
    
    [platformio]
    src_dir = src
    boards_dir = .
    
    
    [env:esp32-s3-devkitc-1-myboard]
    monitor_speed = 115200
    platform = espressif32
    board = esp32-s3-devkitc-1-myboard
    framework = arduino
    platform_packages = framework-arduinoespressif32@https://github.com/espressif/arduino-esp32#2.0.3
    build_flags = 
        -D LV_LVGL_H_INCLUDE_SIMPLE
        -DLV_USE_DEMO_WIDGETS
        -I./include
    lib_deps = 
        tamctec/TAMC_GT911@^1.0.2
        moononournation/GFX Library for Arduino@1.2.8
        lvgl/lvgl@8.3.6
    board_build.partitions = huge_app.csv
    
  • Hello @rhenry74 ,

    Please add the print coordinates to the main.cpp


  • @Elecrow

    Hello, I also have this screen drift issue, lowering the refresh rate in lv_config and/or calling the function that updates widgets less frequently, made a noticeable difference, but the problem persists. 100 ms between updates had the screen drift happening much faster than 2000 ms. The problem also doesn't occur if there is no attempt to update widgets, Any other suggestions?

    Thank you in advance,

    Steven

  • Hello @steven ,

    There might be a problem with the GFX library.


    Please refer to this page to change the diver library to LovyanGFX and modify the display setting:


  • Just following up to confirm this was the solution, incase anyone has the same issue. Thanks again!

  • Via email Elecrow support suggested that I try switching to LovyanGFX library and it has so far fixed the issue.

    This post has details on how to make the switch.

    ESP32 HMI Demo Code Updated - compatible with new version of esp32 package — ELECROW - FORUM

  • Thank you for responding. I have sent the video file and the .ino file of my code to the Elecrow email address. Thanks also to James_Potter for the link. I tried migrating to the LovyanGFX library, but I can't get it to work. So let's see if anyone has a good idea to solve the problem with <lvgl.h>.
    :) Thanks, Daniele.

Sign In or Register to comment.