Hardware & Display Wiring
Pinout schematics and connection guide for ESP32 and ILI9341 2.8" SPI touch screen.
Hardware & Display Wiring Guide
KryonOS is optimized for the widely available ILI9341 2.8" SPI TFT LCD with XPT2046 Resistive Touch Controller (240x320 resolution).
Recommended Hardware Specs
- Microcontroller: ESP32-WROOM-32 / ESP32-S3 (Dual-Core 240MHz, 4MB+ Flash)
- Display Module: 2.8" SPI TFT LCD (240x320) with ILI9341 Driver IC
- Touch IC: XPT2046 SPI Touch Controller
Pinout Mapping Table
Connect the display headers to your ESP32 GPIO pins as follows:
| ILI9341 Pin | ESP32 GPIO | Description |
| :--- | :--- | :--- |
| VCC | 3.3V / 5V | Display Power Input |
| GND | GND | Common Ground |
| CS | GPIO 15 | TFT Chip Select |
| RESET | GPIO 4 / EN | Display Reset Pin |
| DC / RS | GPIO 2 | Data / Command Control |
| MOSI / SDI | GPIO 23 | VSPI MOSI Master Out |
| SCK / CLK | GPIO 18 | VSPI Clock |
| LED / BL | 3.3V | Backlight Anode |
| MISO / SDO | GPIO 19 | VSPI MISO Master In |
| T_CLK | GPIO 18 | Shared SPI Clock for Touch |
| T_CS | GPIO 21 | Touch Controller Chip Select |
| T_DIN / MOSI | GPIO 23 | Shared SPI MOSI for Touch |
| T_DO / MISO | GPIO 19 | Shared SPI MISO for Touch |
| T_IRQ | GPIO 22 / N.C. | Touch Pen Interrupt (Optional) |
Power Requirement
Make sure your 3.3V power rail supplies at least 500mA of current. Backlight plus Wi-Fi transmission bursts can trigger brownouts if powered via poor USB cables.
TFT_eSPI User_Setup.h Configuration
If compiling from source with the Arduino TFT_eSPI library, ensure your User_Setup.h contains:
#define USER_SETUP_LOADED
#define ILI9341_DRIVER
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 4
#define TOUCH_CS 21
#define SPI_FREQUENCY 40000000 // 40MHz High-Speed SPI
#define SPI_TOUCH_FREQUENCY 2500000 // 2.5MHz Touch SPI