Boards / All-in-one boards

ESP32-2432S028 "Cheap Yellow Display", two USB ports, ILI9341

The 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-2432S028 , two USB ports, ILI9341: a 240 by 320 panel, drawn from the preset
Drawn from the preset - no vendor photograph of this board was published.

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, 240 x 320 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, BGR 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.

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. Pins are the Sunton CYD's, which the two-USB board shares (witnessmenow/ESP32-Cheap-Yellow-Display). Stored portrait (240 x 320) because the original CYD preset, stored landscape for its own glass, draws this panel squashed and striped. Colour order BGR with inversion off is what a user's own board needed to look as designed (2026-10-21), as an ILI9341 at 240 x 320; touch was not reported on separately. If the picture is a negative, turn Invert on; if red and blue are swapped, set RGB; if colours look washed out, the same notes report a gamma fault on some of these boards. If this preset gives a white screen, the panel is the ST7789 batch: use the ST7789 preset.

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.

Designs for this board

Nobody has published a design for this board yet. Publish yours from the designer and it appears here and in the gallery.

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-2432S028R "Cheap Yellow Display"2.8" 240x320 ILI9341 with XPT2046 resistive touch on a second SPI bus. The cheapest way into LVGL.ESP32 · ILI9341 320 x 240 · 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
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
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