Boards / Common wiring

ESP32-S3 + ILI9341 SPI

ESP32-S3 DevKitC wired to a 2.8" ILI9341 with XPT2046 touch.

At a glance

MakerGeneric
MCUESP32-S3
Xtensa LX7 dual-core @ 240 MHz, 512 KB SRAM (+ up to 8 MB PSRAM)
DisplayIlitek ILI9341, 240 x 320 px, SPI (4-wire serial), 16-bit colour
TouchXPTek XPT2046 (resistive, SPI)
BacklightGPIO 47, dimmable (PWM)
PSRAMYes
Graphics libraryLovyanGFX

Display pins

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

SignalPin
SCK / CLKGPIO 12
MOSI / SDAGPIO 11
MISO / SDOGPIO 13
CSGPIO 10
DC / RSGPIO 14
RESETGPIO 21
BacklightGPIO 47

Touch pins

XPT2046: 2500 kHz, shares the display bus.

SignalPin
SCKGPIO 12
MOSIGPIO 11
MISOGPIO 13
CSGPIO 9
IRQ / PENIRQGPIO 8

Check your revision. Wiring template - change the pins to match your build.

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-S3. The only common Arduino target with a hardware RGB565 LCD peripheral. PSRAM is effectively required for RGB panels.

LovyanGFX. Widest panel and bus coverage, DMA on ESP32. Configured with a C++ config class.

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.

Next