Waveshare Panel ESP32-S3-LCD-4.3

This is a ESP32-S3 based board including a 4.3 inch Capacitive Touch Display with 800×480 pixels, 5-point Touch and 16 MByte Flash Memory. with a 800*480px 16 bit color display and touch controller. This panel is supported by the [HomeDing BigDisplay Example]

text

text text

text

waveshare ESP32-S3-LCD-4.3 board

This board is equipped with:

Label: ESP32-s3-LCD-4.3

Partition

text

Name, Type, SubType, Offset, Size, Flags

nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x330000, app1, app, ota_1, 0x340000,0x330000, ffat, data, fat, 0x670000,0x180000, coredump, data, coredump,0x7F0000,0x10000,

"board": "esp32:esp32:esp32s3",
"configuration": "JTAGAdapter=default,PSRAM=opi,FlashMode=qio120,FlashSize=8M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=cdc,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=default_8MB,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none,ZigbeeMode=default",

CH422G IO expansion chip

Arduino Configuration

The ESP32S3 Dev Module (esp32) can be used with the following settings:

Dev Board selects ESP32S3 DEV Module

There are 2 USB-C connetors available. This configuration uses the one labeled with USB (not UART).

env.json configuration

{
  "device": {
    "0": {
      "name": "Waveshare",
      "title": "Panel 800*480",
      "description": "Panel with 800 px",
      "loglevel": "2",
      "logfile": 2,
      "safemode": "false",
      "homepage": "/board.htm",
      "cache": "etag"
    }
  },
  "ota": {
    "0": {}
  },
  "ntptime": {
    "on": {
      "zone": "CET-1CEST,M3.5.0,M10.5.0/3"
    }
  },

  "DisplayEsp32panel": {
    "0": {
      "busmode": "RGBPanel",
      "buspins": "14,38,18,17,10,39,0,45,48,47,21,1,2,42,41,40",
      "width": "800",
      "height": "480",
      "color": "x000000",
      "background": "#bbbbbb",
      "lightpin": 45
    }
  }
} 

See also

“C:\Users\Matthias\Documents\Arduino\ESP32Waveshare\lvgl_Porting\ESP_Panel_Board_Custom.h”

define ESP_PANEL_LCD_NAME ST7262

define ESP_PANEL_LCD_WIDTH (800)

define ESP_PANEL_LCD_HEIGHT (480)

define ESP_PANEL_LCD_BUS_SKIP_INIT_HOST (1) // 0/1

define ESP_PANEL_LCD_BUS_TYPE (ESP_PANEL_BUS_TYPE_RGB)

elif ESP_PANEL_LCD_BUS_TYPE == ESP_PANEL_BUS_TYPE_RGB

#define ESP_PANEL_LCD_RGB_CLK_HZ (16 * 1000 * 1000) #define ESP_PANEL_LCD_RGB_HPW (4) #define ESP_PANEL_LCD_RGB_HBP (8) #define ESP_PANEL_LCD_RGB_HFP (8) #define ESP_PANEL_LCD_RGB_VPW (4) #define ESP_PANEL_LCD_RGB_VBP (16) #define ESP_PANEL_LCD_RGB_VFP (16) #define ESP_PANEL_LCD_RGB_PCLK_ACTIVE_NEG (1) // 0: rising edge, 1: falling edge #define ESP_PANEL_LCD_RGB_DATA_WIDTH (16) // 8 | 16 #define ESP_PANEL_LCD_RGB_PIXEL_BITS (16) // 24 | 16 #define ESP_PANEL_LCD_RGB_FRAME_BUF_NUM (1) // 1/2/3 #define ESP_PANEL_LCD_RGB_BOUNCE_BUF_SIZE (0) // Bounce buffer size in bytes. This function is used to avoid screen drift. // To enable the bounce buffer, set it to a non-zero value. Typically set to ESP_PANEL_LCD_WIDTH * 10 // The size of the Bounce Buffer must satisfy width_of_lcd * height_of_lcd = size_of_buffer * N, // where N is an even number.

#define ESP_PANEL_LCD_RGB_IO_HSYNC (46) #define ESP_PANEL_LCD_RGB_IO_VSYNC (3) #define ESP_PANEL_LCD_RGB_IO_DE (5) // -1 if not used #define ESP_PANEL_LCD_RGB_IO_PCLK (7) #define ESP_PANEL_LCD_RGB_IO_DISP (-1) // -1 if not used

#define ESP_PANEL_LCD_RGB_IO_DATA0 (14) #define ESP_PANEL_LCD_RGB_IO_DATA1 (38) #define ESP_PANEL_LCD_RGB_IO_DATA2 (18) #define ESP_PANEL_LCD_RGB_IO_DATA3 (17) #define ESP_PANEL_LCD_RGB_IO_DATA4 (10) #define ESP_PANEL_LCD_RGB_IO_DATA5 (39) #define ESP_PANEL_LCD_RGB_IO_DATA6 (0) #define ESP_PANEL_LCD_RGB_IO_DATA7 (45) #define ESP_PANEL_LCD_RGB_IO_DATA8 (48) #define ESP_PANEL_LCD_RGB_IO_DATA9 (47) #define ESP_PANEL_LCD_RGB_IO_DATA10 (21) #define ESP_PANEL_LCD_RGB_IO_DATA11 (1) #define ESP_PANEL_LCD_RGB_IO_DATA12 (2) #define ESP_PANEL_LCD_RGB_IO_DATA13 (42) #define ESP_PANEL_LCD_RGB_IO_DATA14 (41) #define ESP_PANEL_LCD_RGB_IO_DATA15 (40)

define ESP_PANEL_LCD_COLOR_BITS (16) // 8/16/18/24

define ESP_PANEL_LCD_BGR_ORDER (0) // 0=RGB 1=BGR

define ESP_PANEL_LCD_INEVRT_COLOR (0) // 0/1

define ESP_PANEL_LCD_SWAP_XY (0) // 0/1

define ESP_PANEL_LCD_MIRROR_X (0) // 0/1

define ESP_PANEL_LCD_MIRROR_Y (0) // 0/1

define ESP_PANEL_LCD_IO_RST (-1)

define ESP_PANEL_LCD_RST_LEVEL (0) // 0: low level, 1: high level

===

define ESP_PANEL_USE_TOUCH (1) // 0/1

define ESP_PANEL_TOUCH_NAME GT911

define ESP_PANEL_TOUCH_H_RES (ESP_PANEL_LCD_WIDTH)

define ESP_PANEL_TOUCH_V_RES (ESP_PANEL_LCD_HEIGHT)

/Touch Panel Bus Settings/

define ESP_PANEL_TOUCH_BUS_TYPE (ESP_PANEL_BUS_TYPE_I2C)

/Touch panel bus parameters/

if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C

#define ESP_PANEL_TOUCH_I2C_ADDRESS (0)
#define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_TOUCH_I2C_SCL_PULLUP (1) // 0/1 #define ESP_PANEL_TOUCH_I2C_SDA_PULLUP (1) // 0/1 #define ESP_PANEL_TOUCH_I2C_IO_SCL (9) #define ESP_PANEL_TOUCH_I2C_IO_SDA (8)

define ESP_PANEL_USE_BACKLIGHT (0) // 0/1

if ESP_PANEL_USE_BACKLIGHT

/IO num of backlight pin/

define ESP_PANEL_BACKLIGHT_IO (45)

define ESP_PANEL_BACKLIGHT_ON_LEVEL (1) // 0: low level, 1: high level

/Set to 1 if you want to turn off the backlight after initializing the panel; otherwise, set it to turn on/

define ESP_PANEL_BACKLIGHT_IDLE_OFF (0) // 0: on, 1: off

/Set to 1 if use PWM for brightness control/

define ESP_PANEL_LCD_BL_USE_PWM (1) // 0/1

endif /ESP_PANEL_USE_BACKLIGHT/

/Set to 0 if not using IO Expander/

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////// Please utilize the following macros to execute any additional code if required. ////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // #define ESP_PANEL_BEGIN_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel )

/**

*/

define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0

define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1

define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1

endif /ESP_PANEL_USE_CUSTOM_BOARD/

// INDENT-OFF

Tags

BoardWip