Waveshare · ESP32-S3 · 4.3" · 800×480
Waveshare ESP32-S3 Touch LCD 4.3" specifications
The Waveshare ESP32-S3-Touch-LCD-4.3 brings industrial interfaces to a compact 4.3-inch format. The 800×480 IPS panel (160° viewing angle, 270 cd/m²) is driven over RGB, and a 5-point capacitive touch panel under toughened glass handles input.
What sets it apart is the I/O: an isolated-style set of screw terminals for CAN (TJA1051) and RS485 (SP3485), each with an optional 120 Ω termination jumper, an I2C terminal, a sensor ADC input and a microSD slot. A CH422G I/O expander and a USB pin multiplexer free up ESP32-S3 pins for the RGB display.
Inside is an ESP32-S3-WROOM-1-N16R8 (16 MB flash, 8 MB PSRAM). A CS8501 charger lets it run from a single lithium cell with 5 V boost, and the board is rated for 0–65 °C.
- Screen
- 4.3" · 800×480
- Chip
- ESP32-S3
- Memory
- 16 MB flash, 8 MB PSRAM
- Input
- capacitive touch
Key features
- 4.3-inch IPS, 800×480, 160°, 270 cd/m²
- 5-point capacitive touch behind toughened glass
- ESP32-S3-WROOM-1-N16R8
- CAN and RS485 screw terminals with 120 Ω jumpers
- Lithium battery with CS8501 charger and 5 V boost
- I2C terminal, sensor ADC input, microSD
Specifications
| Manufacturer | Waveshare |
|---|---|
| Screen size | 4.3" |
| Resolution | 800×480 px |
| Colour depth | 16-bit |
| Display controller | RGB Parallel (direct, no 3-wire SPI init) |
| Display interface | RGB565 Parallel (DPI) |
| Touch | GT911 (capacitive, I2C) |
| Microcontroller | ESP32-S3 |
| Module | ESP32-S3-WROOM-1-N16R8 |
| CPU clock | 240 MHz |
| Internal SRAM | 512 KB |
| PSRAM | 8 MB |
| Flash | 16 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| Display type | IPS, 65K colours, 160° viewing angle, 270 cd/m² |
| Touch | Capacitive 5-point (GT911), toughened glass |
| CAN | TJA1051T/3, optional 120 Ω terminator |
| RS485 | SP3485, optional 120 Ω terminator |
| I/O expander | CH422G |
| Power | 5 V USB-C, about 450 mA |
| Battery | 3.7 V lithium via PH2.0, CS8501, 580 mA charge |
| Dimensions | 106.1 × 67.8 mm (touch version) |
| Operating temperature | 0 °C to 65 °C |
| Development platforms (manufacturer) | Arduino IDE, ESP-IDF, LVGL 8 |
GPIO pinout
The GPIOs the board itself uses — display, touch and on-board peripherals — as published in the manufacturer’s documentation.
| GPIO | Function |
|---|---|
| GPIO 0 | LCD_DATA6 (RGB) |
| GPIO 1 | LCD_DATA11 (RGB) |
| GPIO 2 | LCD_DATA12 (RGB) |
| GPIO 3 | LCD_VSYNC |
| GPIO 4 | TOUCH_INT (GT911) — the driver drives it during touch init |
| GPIO 5 | LCD_DE / USB_SEL (dual function) |
| GPIO 7 | LCD_PCLK |
| GPIO 8 | I2C_SDA (Touch) |
| GPIO 9 | I2C_SCL (Touch) |
| GPIO 10 | LCD_DATA4 (RGB) |
| GPIO 11 | SD_MOSI (microSD) |
| GPIO 12 | SD_SCK (microSD) |
| GPIO 13 | SD_MISO (microSD) |
| GPIO 14 | LCD_DATA0 (RGB) |
| GPIO 15 | RS485_TXD (transceiver) |
| GPIO 16 | RS485_RXD (transceiver) |
| GPIO 17 | LCD_DATA3 (RGB) |
| GPIO 18 | LCD_DATA2 (RGB) |
| GPIO 19 | USB D- / CAN RX (switched by EXIO5) |
| GPIO 20 | USB D+ / CAN TX (switched by EXIO5) |
| GPIO 21 | LCD_DATA10 (RGB) |
| GPIO 38 | LCD_DATA1 (RGB) |
| GPIO 39 | LCD_DATA5 (RGB) |
| GPIO 40 | LCD_DATA15 (RGB) |
| GPIO 41 | LCD_DATA14 (RGB) |
| GPIO 42 | LCD_DATA13 (RGB) |
| GPIO 45 | LCD_DATA7 (RGB) |
| GPIO 46 | LCD_HSYNC |
| GPIO 47 | LCD_DATA9 (RGB) |
| GPIO 48 | LCD_DATA8 (RGB) |
Source: www.waveshare.com, docs.waveshare.com. Always check against your board revision before wiring.
Free GPIOs and connectors
These GPIOs are not used by the display, touch or on-board peripherals, so you can wire your own sensors, buttons or relays to them.
| Pin | Capabilities | Note |
|---|---|---|
| GPIO 6 | GPIO, PWM | Not used by the board per the wiki — probably the Sensor AD (PH2.0) header, not confirmed |
| GPIO 43/TX | GPIO, UART_TX | UART0 TX |
| GPIO 44/RX | GPIO, UART_RX | UART0 RX |
Good to know before you start
- Touch is optional on this product family — make sure you buy the Touch version if you need input.
- The only plain free GPIO is GPIO 6, most likely on the sensor ADC header; use I2C (GPIO 8/9) for more I/O.
- The LCD Ultra Pro driver for this board is compile-tested; the closely related 4.3B is vendor-matched.
- Native USB and other functions share pins through a USB multiplexer.
What it is good for
- •Compact industrial HMIs on CAN or RS485
- •Modbus RTU control panels
- •Vehicle and machine displays
- •Smart home panels needing a wired bus
LVGL support in LCD Ultra Pro
| Driver status | Compile-tested |
|---|---|
| Arduino export | Complete LVGL 8.4 project with the display driver |
| USB Live preview | No |
| Orientations | 0°, 90° |
| Brightness control | Hardware backlight dimming |
Pick this board in the editor and the canvas matches its exact resolution and shape. Build the interface with widgets, add events without code, try it in Live Preview, then export it as a ready-to-compile Arduino project. See the documentation for the workflow.
Frequently asked questions
Does the Waveshare ESP32-S3-Touch-LCD-4.3 support CAN and RS485?
Yes, with a TJA1051 CAN transceiver and an SP3485 RS485 transceiver on screw terminals, each with an optional 120 Ω termination jumper.
How bright is the display?
Waveshare specifies 270 cd/m² with a 160° viewing angle.
What is the difference to the 4.3B?
The 4.3B adds optically isolated digital inputs and outputs, a 7–36 V DC input, an RTC and a brighter 550 cd/m² panel.
What temperature range is it rated for?
0 °C to 65 °C.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: