Boards / RP2040

Raspberry Pi Pico + ILI9341

SPI0 driving a 2.8" ILI9341 with XPT2046 touch.

At a glance

MakerGeneric
MCURP2040 (Pico / Pico W)
Cortex-M0+ dual-core @ 133 MHz, 264 KB SRAM
DisplayIlitek ILI9341, 240 x 320 px, SPI (4-wire serial), 16-bit colour
TouchXPTek XPT2046 (resistive, SPI)
BacklightGPIO 22, dimmable (PWM)
PSRAMNo
Graphics libraryTFT_eSPI

Display pins

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

SignalPin
SCK / CLKGPIO 18
MOSI / SDAGPIO 19
MISO / SDOGPIO 16
CSGPIO 17
DC / RSGPIO 20
RESETGPIO 21
BacklightGPIO 22

Touch pins

XPT2046: 2000 kHz, shares the display bus.

SignalPin
SCKGPIO 18
MOSIGPIO 19
MISOGPIO 16
CSGPIO 15
IRQ / PENIRQGPIO 14

Check your revision. Only 264 KB of RAM - keep the LVGL draw buffer at roughly 1/10 screen.

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.

RP2040 (Pico / Pico W). PIO can drive an 8-bit parallel bus. Limited RAM - use a small partial draw buffer.

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

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