ESP32-2432S028R (CYD) display: specs, driver revisions & setup
The Cheap Yellow Display: a 2.8-inch 240×320 SPI TFT on an ESP32 board. Batches ship with either an ILI9341 or an ST7789 display controller, so the same sketch can work on one board and show a white screen on another.
ESP32-2432S028R (CYD) display specifications
| MCU | ESP32 (ESP32-WROOM-32) |
|---|---|
| Display | 2.8″ · 240×320 |
| Display bus | SPI (HSPI) |
| Driver IC | ILI9341 or ST7789 |
| Touch | XPT2046 resistive (separate SPI pins) |
Which ESP32-2432S028R (CYD) revision do you have?
Boards sold under the same name ship with different display driver ICs. Code written for one revision shows a white screen, wrong colours or nothing at all on the other, so identify yours first.
| Revision | Driver IC | How to identify | Library settings |
|---|---|---|---|
| Original (micro-USB) | ILI9341 | Works with the community User_Setup.h unchanged | TFT_eSPI: ILI9341_2_DRIVER, no inversion |
| Later batches (some with two USB ports) | ST7789 | White screen, washed-out or inverted colours with the ILI9341 setup | TFT_eSPI: ST7789_DRIVER; try TFT_INVERSION_ON/OFF and TFT_RGB_ORDER TFT_BGR one at a time; backlight still on GPIO 21 |
ESP32-2432S028R (CYD) display and touch pins
| Signal | GPIO | Notes |
|---|---|---|
| TFT MOSI | 13 | HSPI |
| TFT MISO | 12 | HSPI |
| TFT SCLK | 14 | HSPI |
| TFT CS | 15 | |
| TFT DC | 2 | |
| TFT RST | -1 | Not connected to a GPIO |
| Backlight | 21 | Active high; do not reuse |
| Touch CLK | 25 | XPT2046 |
| Touch CS | 33 | XPT2046 |
| Touch DIN (MOSI) | 32 | XPT2046 |
| Touch DO (MISO) | 39 | XPT2046 |
| Touch IRQ | 36 | XPT2046 |
Same display spec for volume production
Prototyped on the ESP32-2432S028R (CYD)? These modules from our direct factories share the panel size and resolution, come with a datasheet and a fixed driver IC per production lot, and are available from 1 pc samples. MOQ and lead time are agreed per project.
From ESP32-2432S028R (CYD) prototype to production
Dev boards are ideal for proving a UI, but their panels are bought on the open market: the controller can change between batches (as it already has on this board), there is rarely a datasheet, and lifetime is not guaranteed. For a product, specify a module with a fixed driver IC per production lot, a datasheet and a lifecycle commitment.
Our direct factories build modules with the same 2.8″ 240×320 format. Samples start at 1 pc; MOQ and lead time are agreed per project with our sales team.
Before you debug code
- Confirm which revision you have (table above): driver IC changes are the most common cause of a white screen.
- Check the backlight pin is not reused in your sketch.
- Change one setting at a time (driver, inversion, colour order), and keep a known-good example to compare against.
Configuration examples
#define ILI9341_2_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#define TFT_BL 21
#define TFT_BACKLIGHT_ON HIGH
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST -1
#define SPI_FREQUENCY 55000000
#define SPI_READ_FREQUENCY 20000000
#define SPI_TOUCH_FREQUENCY 2500000
#define USE_HSPI_PORT// replace the ILI9341_2_DRIVER line with:
#define ST7789_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
// if colours are inverted, toggle ONE of these:
#define TFT_INVERSION_ON
// #define TFT_INVERSION_OFF
// if red and blue are swapped:
// #define TFT_RGB_ORDER TFT_BGR
// pins and SPI settings stay the same as the ILI9341 setupFrequently asked questions
Why does my CYD show a white screen with code that works for others?
Your board probably has the ST7789 display controller instead of the ILI9341. Change the TFT_eSPI driver to ST7789_DRIVER and adjust inversion and colour order; the pins stay the same.
Which GPIO controls the CYD backlight?
GPIO 21, active high. Reusing GPIO 21 in your sketch turns the screen dark.
Why does touch not work in TFT_eSPI on the CYD?
The XPT2046 touch controller is on its own pins (CLK 25, CS 33, DIN 32, DO 39, IRQ 36), not on the display SPI bus, so use a separate XPT2046 library instance on those pins.
Sources
Not sure which display fits your design?
Send us your size, interface and host processor. A display engineer replies within 12 hours with 2–3 options, datasheets and init code. Samples from 1 pc.

