Waveshare · ESP32-S3 · 4.3" · 800×480
Waveshare ESP32-S3 Touch LCD 4.3" Type B specifications
The ESP32-S3-Touch-LCD-4.3B is Waveshare's 4.3-inch board for real control-cabinet work. It keeps the 800×480 IPS format but raises the brightness to 550 cd/m², and it can be powered from 7–36 V DC as well as USB-C — the voltages you actually find in machines, vehicles and building automation.
Two optically isolated digital inputs (5–36 V, NPN or PNP) and two isolated open-drain outputs (up to 450 mA each) let it read switches and drive relays directly. CAN 2.0 and RS485 (with automatic direction switching) sit on 3.5 mm terminals with switchable 120 Ω terminators, alongside an I2C terminal whose supply can be set to 3.3 V or 5 V.
An ESP32-S3-WROOM-1-N16R8 with 16 MB flash and 8 MB PSRAM runs the UI, and a PCF85063 RTC with a CR927 coin cell keeps time through power cuts. GT911 5-point capacitive touch sits behind toughened glass.
- 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, 550 cd/m²
- 7–36 V DC or 5 V USB-C power
- 2 isolated digital inputs and 2 isolated outputs (5–36 V)
- CAN 2.0 and RS485 on 3.5 mm terminals
- PCF85063 RTC with CR927 coin cell
- GT911 5-point touch, N16R8 module, 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, 550 cd/m² |
| Touch | Capacitive 5-point, GT911, toughened glass |
| Power input | USB-C 5 V or DC 7–36 V |
| Isolated inputs | 2 × 5–36 V, optocoupler, NPN/PNP |
| Isolated outputs | 2 × open-drain, 5–36 V, max 450 mA each |
| CAN / RS485 | 3.5 mm terminals, switchable 120 Ω terminators |
| RTC | PCF85063, CR927 coin cell |
| Battery | 3.7 V lithium via MX1.25, CS8501, on/off switch |
| Dimensions | 112.4 × 75.1 mm (116.3 × 79 mm with case) |
| Operating temperature | 0 °C to 65 °C |
| Development platforms (manufacturer) | Arduino IDE (arduino-esp32 3.0+), ESP-IDF |
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 | CANTX (transceiver) |
| GPIO 16 | CANRX (transceiver) |
| GPIO 17 | LCD_DATA3 (RGB) |
| GPIO 18 | LCD_DATA2 (RGB) |
| GPIO 19 | USB D- |
| GPIO 20 | USB D+ |
| 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 43 | RS485_RXD (transceiver) — also UART0, the USB-UART bridge |
| GPIO 44 | RS485_TXD (transceiver) — also UART0, the USB-UART bridge |
| GPIO 45 | LCD_DATA7 (RGB) |
| GPIO 46 | LCD_HSYNC |
| GPIO 47 | LCD_DATA9 (RGB) |
| GPIO 48 | LCD_DATA8 (RGB) |
Source: www.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 |
Good to know before you start
- The isolated inputs and outputs are wired through the I/O expander and optocouplers, not to plain ESP32 GPIOs.
- GPIO 6 is the only directly free GPIO; expand over the I2C terminal.
- The I2C terminal voltage (3.3 V or 5 V) is selected by a resistor — check it before connecting a sensor.
- CAN and RS485 terminators are off by default.
What it is good for
- •Control-cabinet HMIs with 24 V signals
- •Machine panels reading switches and driving relays
- •Building automation over RS485 / Modbus
- •Vehicle displays on 12/24 V
LVGL support in LCD Ultra Pro
| Driver status | Matched to the manufacturer’s official demo, 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
Can the ESP32-S3-Touch-LCD-4.3B run from 24 V?
Yes. It accepts 7–36 V DC in addition to 5 V over USB-C.
What isolated I/O does the 4.3B have?
Two optocoupler-isolated digital inputs (5–36 V, NPN or PNP) and two isolated open-drain outputs rated up to 450 mA each.
Does it have CAN and RS485?
Yes, both on 3.5 mm terminals, each with a switchable 120 Ω terminator.
How bright is the screen?
550 cd/m², about twice the brightness of the standard 4.3-inch version.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: