Boards / All-in-one boards

ESP32-2432S028R "Cheap Yellow Display"

2.8" 240x320 ILI9341 with XPT2046 resistive touch on a second SPI bus. The cheapest way into LVGL.

The ESP32-2432S028R board
Photograph: Makerfabs (reseller product photo for the Sunton ESP32-2432S028R) · vendor product photo, no licence stated

Building for it

A project is made for one toolchain, picked when you start it. All four can drive this board:

Toolchain
Arduino (C++)Every board, every widget and every peripheral here. The most control, and the most to set up. Start a project
MicroPythonChange a screen by editing a file on the board. No compiler once it is flashed. Start a project
ESPHomeNo compiler to install, and the panel can join Home Assistant as real entities. Start a project
ESP-IDF (C)Espressif's own framework: esp_lcd, the component registry and idf.py, with nothing of Arduino in it. Start a project

At a glance

PartDetail
MakerSunton
MCUESP32 (WROOM / WROVER)
Xtensa LX6 dual-core @ 240 MHz, 520 KB SRAM (+ up to 8 MB PSRAM on WROVER)
DisplayIlitek ILI9341, 320 x 240 px, SPI (4-wire serial), 16-bit colour
TouchXPTek XPT2046 (resistive, SPI)
BacklightGPIO 21, dimmable (PWM)
Memory4 MB flash, no PSRAM (N4)
Graphics libraryTFT_eSPI

Display pins

ILI9341 on SPI (4-wire serial): SPI clock 40 MHz, host HSPI, RGB colour order, inversion off.

SignalPin
SCK / CLKGPIO 14
MOSI / SDAGPIO 13
MISO / SDOGPIO 12
CSGPIO 15
DC / RSGPIO 2
RESETnot connected
BacklightGPIO 21

Touch pins

XPT2046: 2500 kHz, its own SPI bus, X and Y swapped.

SignalPin
SCKGPIO 25
MOSIGPIO 32
MISOGPIO 39
CSGPIO 33
IRQ / PENIRQGPIO 36

Also on the board

The preset adds these to the Hardware tab with the board, so a sensor can go straight onto the connector.

Check your revision. Touch runs on its own VSPI bus, separate from the display HSPI bus. The 2432S028 also ships in a capacitive CST820 variant. Colour order is RGB with inversion off, confirmed on hardware - if a clone shows a negative image or swaps red and blue, change them on the Display tab.

Designing for it in LCD Wizard

The parts

ILI9341. The most common hobby TFT. 2.2"-2.8" modules, usually with an XPT2046 resistive panel.

XPT2046. The classic 4-wire resistive controller. Needs calibration. Can share the display SPI bus with its own CS.

ESP32 (WROOM / WROVER). No native RGB parallel peripheral - use SPI or an 8/16-bit i80 bus.

TFT_eSPI. Fastest for SPI panels on ESP32. Configured via User_Setup.h build defines.

The pinout on one page

Every pin above, laid out to print and keep beside the bench. Generated from this preset, so it says exactly what the designer writes into lcd_pins.h.

Download the pinout (PNG)Open it as SVG

The same pins as data - board.json and pins.csv - are in the open pinout dataset on GitHub, free to reuse under CC BY 4.0.

From the people who made it

The board’s own documentation. Pinouts on vendor pages do sometimes disagree with the hardware in front of you - where this page and that one differ, trust your board and tell us.

Designs for this board

Clone any of them into the designer, or see every design for this board in the gallery.

ESP32-2432S028 "Cheap Yellow Display", two USB ports, ILI9341The CYD with a micro-USB and a USB-C port, in its ILI9341 batch: 2.8" 240x320 ILI9341 with XPT2046 resistive touch on a second SPI bus. Same pins as the original CYD.ESP32 · ILI9341 240 x 320 · XPT2046 touch
ESP32-2432S028C (capacitive CYD)Capacitive variant of the Cheap Yellow Display: same ILI9341, CST820 touch over I2C.ESP32 · ILI9341 320 x 240 · CST820 touch
ESP32 + ILI9341 2.8" SPIThe classic breadboard combination: ESP32 DevKit, 2.8" ILI9341, XPT2046 resistive touch on the same SPI bus.ESP32 · ILI9341 240 x 320 · XPT2046 touch
ESP32-2432S028R "Cheap Yellow Display", ST7789 versionThe CYD with an ST7789 screen (often the one with two USB ports, though some have one): 2.8" 240x320 ST7789 with XPT2046 resistive touch on a second SPI bus. Same pins as the original CYD.ESP32 · ST7789 240 x 320 · XPT2046 touch
Guition JC2432W328R (2.8" resistive, one USB-C)Guition's 2.8" CYD in a clear case: 240x320 ST7789 with XPT2046 resistive touch on the panel's own SPI bus, backlight on GPIO 27, TF card, RGB LED, speaker and light sensor.ESP32 · ST7789 240 x 320 · XPT2046 touch
Guition JC2432W328C (2.8" capacitive, one USB-C)Guition's 2.8" CYD in a clear case: 240x320 ST7789 with CST820 capacitive touch, backlight on GPIO 27, TF card, RGB LED, speaker and light sensor.ESP32 · ST7789 240 x 320 · CST820 touch

Next