CYD ESP32-2432S028

ESP32 board with 2.8" LCD display - perfect for small dashboards, IoT terminals, and HMI projects.

Micro-USB + USB-C
CYD ESP32-2432S028 board
86 × 50 mm
ESP32
MCU
240MHz
clock
4MB
flash
520KB
SRAM
25· 2 ADC
GPIO
BLE 4.2+ WiFi
radio
On this page

CYD ESP32-2432S028 Pinout

29 pins
CYD ESP32-2432S028 pinout diagram, high resolution: all 29 pins, with GPIO numbers, ADC channels and strapping pins
CYD ESP32-2432S028 pinout, drawn by ESPboards from the ESP32 Series Datasheet v5.3.
CYD ESP32-2432S028 pinout diagram
PinGPIOLabelsStatusCapabilitiesNotes
1-VIN5Vpower-On P1 serial connector; 5V from USB
2-3V33.3Vpower-On CN1 connector; 3.3V output
3-GNDground-Ground; present on the P1, P3 and CN1 connectors
41IO1GPIO1TXuartuartOn P1 serial connector; U0TXD wired to the CH340 USB-serial chip (repurposing disables USB serial)
53IO3GPIO3RXuartuartOn P1 serial connector; U0RXD wired to the CH340 USB-serial chip
621IO21GPIO21safei2c · pwmOn P3 connector; also drives the TFT backlight (held high while the backlight is on)
722IO22GPIO22safei2c · pwmOn both P3 and CN1 connectors; the one fully-free general-purpose GPIO
835IO35GPIO35strappingadcOn P3 connector; input-only (ADC1), no output and no internal pull-ups
927IO27GPIO27safeadc · touch · i2c · pwmOn CN1 connector; free GPIO, commonly paired with GPIO22 for I2C
100IO0GPIO0BOOTcontroladc · touchBOOT button (GPIO0); strapping pin, usable as an input
112strapping-TFT data/command (RS) on the ILI9341 display; not free
1212strapping-TFT MISO (HSPI) on the ILI9341 display; not free, and a strapping pin
1313strapping-TFT MOSI (HSPI) on the ILI9341 display; not free
1414strapping-TFT SCK (HSPI) on the ILI9341 display; not free
1515strapping-TFT chip select on the ILI9341 display; not free, and a strapping pin
1625safe-Touch clock on the XPT2046 controller; not free
1732safe-Touch MOSI on the XPT2046 controller; not free
1833safe-Touch chip select on the XPT2046 controller; not free
1936strapping-Touch interrupt (IRQ) on the XPT2046 controller; input-only, not free
2039strapping-Touch MISO on the XPT2046 controller; input-only, not free
215strapping-microSD chip select (VSPI); free only when the card slot is unused, and a strapping pin
2218safe-microSD clock (VSPI); free only when the card slot is unused
2319safe-microSD MISO (VSPI); free only when the card slot is unused
2423safe-microSD MOSI (VSPI); free only when the card slot is unused
254safe-Red leg of the onboard RGB LED; drives it LOW (common anode)
2616safe-Green leg of the onboard RGB LED; drives it LOW (common anode)
2717safe-Blue leg of the onboard RGB LED; drives it LOW (common anode)
2826safe-Speaker output; drives the 8002A amplifier feeding the P4 socket (DAC2)
2934strapping-LDR light sensor; input-only (ADC1)
Download the CYD ESP32-2432S028 pinout Free to use and share for non-commercial work, as long as you credit espboards.dev. License.
26 GPIOs broken out 3 free · 13 need care · 10 to avoid

Start with these

3 pins with no boot or system involvement
IO21IO22IO27

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

Fine - with a little care

13 pins · 8 things to know
IO1 Default UART0 TX pin for USB-serial programming and console. UART

Connected to on-board USB-UART for uploading and logs; drives serial output at boot, so using as GPIO can disrupt programming or console.

IO3 Default UART0 RX pin for USB-serial programming (console input). UART

Used for receiving data from USB-UART (programming); also pulled HIGH at boot for console communication, so using as GPIO can disrupt uploads.

IO35 Input-only GPIO (no output driver); ADC1 channel 7. Other

Cannot be used as output; only suitable for input.

IO0 Bootstrapping pin (enter bootloader when low); internal pull-up. Strapping

Must be HIGH during boot for normal startup; if held LOW on reset, forces flash programming mode.

GPIO5GPIO18GPIO19GPIO23 Used by the microSD card slot onboard hardware

Wired to the microSD card slot on this board. The pin is yours if you give that up, but nothing else can share it.

  • microSD chip select (VSPI); free only when the card slot is unused, and a strapping pin
  • microSD clock (VSPI); free only when the card slot is unused
  • microSD MISO (VSPI); free only when the card slot is unused
  • microSD MOSI (VSPI); free only when the card slot is unused
GPIO4GPIO16GPIO17 Used by the onboard RGB LED onboard hardware

Wired to the onboard RGB LED on this board. The pin is yours if you give that up, but nothing else can share it.

  • Red leg of the onboard RGB LED; drives it LOW (common anode)
  • Green leg of the onboard RGB LED; drives it LOW (common anode)
  • Blue leg of the onboard RGB LED; drives it LOW (common anode)
GPIO26 Speaker output; drives the 8002A amplifier feeding the P4 socket (DAC2) onboard hardware

Wired to the speaker amplifier on this board. The pin is yours if you give that up, but nothing else can share it.

GPIO34 LDR light sensor; input-only (ADC1) onboard hardware

Wired to the LDR light sensor on this board. The pin is yours if you give that up, but nothing else can share it.

Only if you know the tricks

10 pins · 2 things to know
GPIO2GPIO12GPIO13GPIO14GPIO15 Used by Display (ILI9341) onboard hardware

Wired to Display (ILI9341) on this board, which is soldered down. Driving it from your own code breaks that function.

  • TFT data/command (RS) on the ILI9341 display; not free
  • TFT MISO (HSPI) on the ILI9341 display; not free, and a strapping pin
  • TFT MOSI (HSPI) on the ILI9341 display; not free
  • TFT SCK (HSPI) on the ILI9341 display; not free
  • TFT chip select on the ILI9341 display; not free, and a strapping pin
GPIO25GPIO32GPIO33GPIO36GPIO39 Used by the touch controller (XPT2046) onboard hardware

Wired to the touch controller (XPT2046) on this board, which is soldered down. Driving it from your own code breaks that function.

  • Touch clock on the XPT2046 controller; not free
  • Touch MOSI on the XPT2046 controller; not free
  • Touch chip select on the XPT2046 controller; not free
  • Touch interrupt (IRQ) on the XPT2046 controller; input-only, not free
  • Touch MISO on the XPT2046 controller; input-only, not free
These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.

The CYD ESP32-2432S028 breaks out 29 pins in total: 25 GPIO for your project, with VIN, 3V3 and GND handling power.

Peripheral wiring is straightforward: TX/RX on GPIO1 and GPIO3 cover serial logging and flashing.

Beyond plain digital I/O you get 2 ADC-capable pins for sensors and battery monitoring, PWM on 3 pins and 1 capacitive-touch inputs.

13 of the exposed pins carry boot-time or system duties on the ESP32 (IO1, IO3, IO35 and 10 more) - check the guidance above before wiring anything to them. IO21, IO22 and IO27 are free of any such role - the safest first picks.

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Uses a CH340 bridge - install the CH340 driver if no port appears. Not detected? Hold BOOT while plugging in.
2
Match & flash
Set the Tools options shown, then click Upload.
3
Verify it runs
GPIO21 toggles - wire an LED and resistor to it, or change the pin to your board's own LED.
Set these in Tools · leave everything else at default
Arduino IDE 2.x - Tools Copy
Board: "ESP32 Dev Module"▸
Flash Size: "4MB (32Mb)"▸
Flash Mode: "DIO"▸
Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)" (default)▸
Upload Speed: "921600"▸
▸ every other Tools option - leave at default
Board: ESP32 Dev Module
Flash Size: 4MB (32Mb)
Flash Mode: DIO
Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
Upload Speed: 921600
Find it: Tools ▸ Board ▸ ESP32 Arduino ▸ ESP32 Dev Module
blink.ino Copy
// toggle GPIO21 - wire an LED and resistor to it
void setup() {
  pinMode(21, OUTPUT);
}
void loop() {
  digitalWrite(21, HIGH); delay(500);
  digitalWrite(21, LOW);  delay(500);
}
board to selectesp32dev⧉ copy
platformio.ini Copy
[env:cyd-esp32-2432s028]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 921600
Find it: PlatformIO Home ▸ Boards, search esp32dev - or type it after board =.
board to selectesp32dev⧉ copy
device.yaml Copy
esp32:
  board: esp32dev
  variant: esp32
  framework:
    type: esp-idf

# blink - GPIO21
output:
  - platform: gpio
    pin: 21
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
Find it: search ESPHome's board list for esp32dev (same ids as PlatformIO).
esptool doesn't pick board settings - a prebuilt .bin already has them baked in. This is just the raw flash command.
terminal Copy
esptool.py --chip esp32 --port /dev/ttyACM0 \
  --baud 921600 write_flash 0x1000 firmware.bin
--port = your /dev/tty* (macOS/Linux) or COMx (Windows).
Build details: sketch space 1310720 B · data 327680 B · DIO

Downloads

Free for non-commercial use, credit espboards.dev · License
CYD ESP32-2432S028 board illustration, front

Board illustration

The bare CYD ESP32-2432S028 board drawn to scale at 86 × 50 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.

CYD ESP32-2432S028 pinout diagram

Pinout diagram

Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32 Series Datasheet v5.3 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.

Free for non-commercial use, with the credit line kept.

Embed the CYD ESP32-2432S028 pinout

Paste this where you want the diagram. Keep the credit line - it is what the licence asks for, and it is the only thing we want in return.

<figure>
  <img src="https://cdn.espboards.net/boards/cyd-esp32-2432s028/diagram-1600.png"
       alt="CYD ESP32-2432S028 pinout diagram" width="1600" loading="lazy">
  <figcaption>
    CYD ESP32-2432S028 pinout by
    <a href="https://www.espboards.dev/esp32/cyd-esp32-2432s028/">ESPboards</a>,
    <a href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a>
  </figcaption>
</figure>

Using it commercially? Ask us first - it takes one email.

Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.

Specifications

ESP32 · 86 × 50 mm · vs other ESP32 chips →
Compute
MCU
ESP32
Clock
240 MHz
SRAM · Flash
520 KB · 4MB
Radio
Wi-Fi
802.11 b/g/n
Bluetooth
4.2 LE
Antenna
PCB
I/O
GPIO · ADC
25 · 2
UART · I²C · SPI
3 · 2 · 2
PWM
16 channels
Power
USB
Micro-USB (UART) · USB-C (UART)
Serial
CH340
Boot address
0x1000
Display
Screen
TFT · 2.8" · 240x320
Driver
ILI9341
Touch
XPT2046
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
DIO · QIO
Sketch · Data
1.25 MB · 320 KB

Dimensions

CYD ESP32-2432S028 board, drawn to scale
50 mm86 mm
86 × 50 mm
The CYD ESP32-2432S028 uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is DIO with QIO boot mode. The maximum sketch size is 1.25 MB with 320 KB available for data.

About this board

Inside sits the ESP32 - a dual-core Xtensa with both Bluetooth Classic and BLE. Sibling CYD boards cover the ESP32-S3 and ESP32-C3, so you can change radios or horsepower without changing the footprint.

At $10.49 it's cheaper than most CYD boards, which usually run around $22.

Around the module: a TFT 2.8" 240x320 display with touch, a microSD slot, a speaker connector, an ambient-light sensor and Reset/Boot buttons.

  • ILI9341 TFT driver on most units; some later batches ship with an ST7789
  • Discrete active-low RGB LED (GPIO4 red, GPIO16 green, GPIO17 blue) - not addressable
  • Onboard SC8002B audio amplifier with a 2-pin JST speaker connector on GPIO26
  • LDR ambient-light sensor on GPIO34
  • TFT backlight control on GPIO21
  • Original revision has a single Micro-USB port; the newer CYD2USB revision adds a USB-C port (both via CH340)

Where to buy

prices are typical street prices
CYD ESP32-2432S028
CYD ESP32-2432S028
$10.49per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards

All Cyd boards →