Skip to content

Latest commit

 

History

History
 
 

esp32_s3_lcd_ev_board

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

BSP: ESP32-S3-LCD-EV-Board

Component Registry

ESP32-S3-LCD-EV-Board is a development board for evaluating and verifying ESP32-S3 screen interactive applications. It has the functions of touch screen interaction and voice interaction. The development board has the following characteristics:

  • Onboard ESP32-S3-WROOM-1 module, with built-in 16 MB Flash + 8/16 MB PSRAM
  • Onboard audio codec + audio amplifier
  • Onboard dual microphone pickup
  • USB type-C interface download and debugging
  • It can be used with different screen sub boards, and supports RGB, 8080, SPI, I2C interface screens, as below:
Board Name Screen Size (inch) Resolution LCD Driver IC (Interface) Touch Driver IC Schematic Support
ESP32-S3-LCD-EV-Board-SUB1 0.9 128 x 64 SSD1315 (I2C) * link Not yet
2.4 320 x 240 ST7789V (SPI) XTP2046 Not yet
ESP32-S3-LCD-EV-Board-SUB2 3.5 480 x 320 ST7796S (8080) GT911 link Not yet
3.95 480 x 480 GC9503CV (RGB) FT5x06 Yes
ESP32-S3-LCD-EV-Board-SUB3 4.3 800 x 480 ST7262E43 (RGB) GT1151 link Yes

Here are some useful configurations in menuconfig that can be customed by user:

  • BSP_LCD_RGB_BUFFER_NUMS: Configure the number of frame buffers. The anti-tearing function can be activated only when set to a value greater than one.
  • BSP_LCD_RGB_REFRESH_MODE: Choose the refresh mode for the RGB LCD.
    • BSP_LCD_RGB_REFRESH_AUTO: Use the most common method to refresh the LCD.
    • BSP_LCD_RGB_BOUNCE_BUFFER_MODE: Enabling bounce buffer mode can lead to a higher PCLK frequency at the expense of increased CPU consumption. This mode is particularly useful when dealing with screen drift, especially in scenarios involving Wi-Fi usage or writing to Flash memory. This feature should be used in conjunction with ESP32S3_DATA_CACHE_LINE_64B configuration. For more detailed information, refer to the documentation.
  • BSP_DISPLAY_LVGL_BUF_CAPS: Select the memory type for the LVGL buffer. Internal memory offers better performance.
  • BSP_DISPLAY_LVGL_BUF_HEIGHT: Set the height of the LVGL buffer, with its width aligning with the LCD's width. The default value is 100, decreasing it can lower memory consumption.
  • BSP_DISPLAY_LVGL_AVOID_TEAR: Avoid tearing effect by using multiple buffers. This requires setting BSP_LCD_RGB_BUFFER_NUMS to a value greater than 1.
    • BSP_DISPLAY_LVGL_MODE:
      • BSP_DISPLAY_LVGL_FULL_REFRESH: Use LVGL full-refresh mode. Set BSP_LCD_RGB_BUFFER_NUMS to 3 will get higher FPS`.
      • BSP_DISPLAY_LVGL_DIRECT_MODE: Use LVGL's direct mode.

Based on the above configurations, there are three different anti-tearing modes can be used:

  • RGB double-buffer + LVGL full-refresh mode:
    • Set BSP_LCD_RGB_BUFFER_NUMS to 2
    • Enable BSP_DISPLAY_LVGL_AVOID_TEAR and BSP_DISPLAY_LVGL_FULL_REFRESH
  • RGB double-buffer + LVGL direct-mode:
    • Set BSP_LCD_RGB_BUFFER_NUMS to 2
    • Enable BSP_DISPLAY_LVGL_AVOID_TEAR and BSP_DISPLAY_LVGL_DIRECT_MODE
  • RGB triple-buffer + LVGL full-refresh mode:
    • Set BSP_LCD_RGB_BUFFER_NUMS to 3
    • Enable BSP_DISPLAY_LVGL_AVOID_TEAR and BSP_DISPLAY_LVGL_FULL_REFRESH

Capabilities and dependencies

Capability Available Component Version
DISPLAY ✔️ espressif/esp_lcd_gc9503 ^3
LVGL_PORT ✔️ espressif/esp_lvgl_port ^2
TOUCH ✔️ espressif/esp_lcd_touch_ft5x06 ^1
BUTTONS ✔️ espressif/button >=2.5,<4.0
AUDIO ✔️ espressif/esp_codec_dev ^1,<1.2
AUDIO_SPEAKER ✔️
AUDIO_MIC ✔️
SDCARD
IMU