CYD ESP32-8048S043
by Sunton
ESP32-S3 board with high-res 4.3" screen - best for complex visual interfaces, monitoring dashboards, and smart appliances.

On this page
CYD ESP32-8048S043 Pinout
12 pins| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | 5V | power | - | 5V input on the P1 UART programming header |
| 2 | - | 3V33.3V | power | - | 3.3V rail on the P4 header |
| 3 | - | GND | ground | - | Ground, broken out on the P1 and P4 headers |
| 4 | 43 | TXIO43U0TXD | uart | uart | UART0 TX on the P1 programming header; shared with the CH340 serial console |
| 5 | 44 | RXIO44U0RXD | uart | uart | UART0 RX on the P1 programming header; shared with the CH340 serial console |
| 6 | 11 | IO11MOSI | strapping | adc · spi | SPI MOSI on the P2 header; shared with the onboard microSD card |
| 7 | 12 | IO12SCLK | strapping | adc · spi | SPI SCLK on the P2 header; shared with the onboard microSD card |
| 8 | 13 | IO13MISO | strapping | adc · spi | SPI MISO on the P2 header; shared with the onboard microSD card |
| 9 | 19 | IO19SDA | uart | adc · i2c | I2C SDA on the P2/P3 headers; shared with the GT911 touch controller |
| 10 | 20 | IO20SCL | uart | adc · i2c | I2C SCL on the P3 header; shared with the GT911 touch controller |
| 11 | 18 | IO18CTP_INT | safe | adc | GT911 touch interrupt net on the P3/P4 headers (needs a solder-jumper mod to reach the GT911) |
| 12 | 17 | IO17GPIO17 | safe | adc | Spare GPIO on the P3 and P4 headers |
Start with these
2 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
5 pins · 3 things to knowTXGPIO43 UART0 transmit pin (U0TXD), default serial console TX UART
Used for bootloader output and UART console logs. If repurposed, you will lose the default serial output (and programming via UART0).
RXGPIO44 UART0 receive pin (U0RXD), default serial console RX UART
Used for bootloader input (download mode via serial). If repurposed, you cannot use the default UART0 download mode for programming the chip.
IO11IO12IO13 General-purpose SPI2 (FSPI) IO MUX pins Other
IO MUX pin of the general-purpose SPI2 (FSPI) bus, not of the in-package flash - that sits on GPIO26-32. The datasheet lists it as a priority-2 pin ("can be freely used without restrictions"), so it is only taken if your board wires flash, an SD card or a display to FSPI.
- IO11General-purpose SPI2 (FSPI) IO MUX pin - data in (FSPID)
- IO12General-purpose SPI2 (FSPI) IO MUX pin - clock (FSPICLK)
- IO13General-purpose SPI2 (FSPI) IO MUX pin - data out (FSPIQ)
Only if you know the tricks
2 pins · 1 thing to knowIO19IO20 USB OTG differential data pair (D- and D+) USB
By default connected to the on-chip USB Serial/JTAG controller. Using it as general GPIO without reconfiguring IO MUX will interfere with USB functionality.
- IO19USB OTG negative differential data line (USB_D-)
- IO20USB OTG positive differential data line (USB_D+)
The CYD ESP32-8048S043 breaks out 12 pins in total: 9 GPIO for your project, with 5V, 3V3 and GND handling power.
Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO19 and SCL on GPIO20, while TX/RX on GPIO43 and GPIO44 cover serial logging and flashing.
Beyond plain digital I/O you get 7 ADC-capable pins for sensors and battery monitoring.
5 of the exposed pins carry boot-time or system duties on the ESP32-S3 (TX, RX, IO11 and 2 more) - check the guidance above before wiring anything to them. IO18 and IO17 are free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: ESP32S3 Dev Module Flash Size: 16MB (128Mb) Flash Mode: DIO PSRAM: OPI PSRAM Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS) Upload Speed: 921600
// toggle GPIO18 - wire an LED and resistor to it
void setup() {
pinMode(18, OUTPUT);
}
void loop() {
digitalWrite(18, HIGH); delay(500);
digitalWrite(18, LOW); delay(500);
}[env:cyd_esp32_8048s043]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
board_build.arduino.memory_type = qio_opi
build_flags = -DBOARD_HAS_PSRAMesp32-s3-devkitc-1 - or type it after board =.esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
# blink - GPIO18
output:
- platform: gpio
pin: 18
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesp32-s3-devkitc-1 (same ids as PlatformIO).esptool.py --chip esp32s3 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x0 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Specifications
ESP32-S3 · 123 × 74 mm · vs other ESP32 chips →Dimensions
About this board
Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads. Sibling CYD boards cover the ESP32-C3 and ESP32, so you can change radios or horsepower without changing the footprint.
At $40.00 it's on the expensive side for a CYD board - most land around $22.
Around the module: 8MB (OPI) PSRAM, an IPS LCD 4.3" 800x480 display with touch, a microSD slot and Reset/Boot buttons.
Where to buy
prices are typical street prices
Resources
Similar boards
All Cyd boards →



