Итак, статья о подключении тача к esp 32. Из базового что стоит сказать, подключения можно делать так как вам условно удобно/возможно, а вот в последствии они прописываются в файле User_Setup библиотеки "TFT_eSPI.h"

Вот полная таблица подключений для ILI9341 + XPT2046 на ESP32, основанная на конфигурационном файле в моем конкретном случае:

📌 Основные подключения (SPI)

Сигнал Дисплей (ILI9341) Тач (XPT2046) ESP32 Примечание
VCC 3.3V 3.3V 3.3V Питание
GND GND GND GND Земля
SCK (CLK) SCK T_CLK GPIO18 Общий SPI-тактовый сигнал
MOSI (SDI) MOSI (SDI) T_DIN GPIO23 Общий SPI-выход данных
MISO (SDO) T_DO (T_OUT) GPIO19 Только для тача (дисплей не использует)
CS CS GPIO15 Чип-селектор дисплея
DC DC (D/C) GPIO2 Data/Command
RESET RESET GPIO4 Сброс (или на 3.3V, если не используется)
LED LED 3.3V Подсветка (можно на GPIO + ШИМ)
T_CS T_CS GPIO14 Чип-селектор тача
T_IRQ T_IRQ Не подключать (или GPIO для прерываний)

🔄 Проверка конфликтов:

  1. CS-пины не пересекаются:

    • Дисплей: GPIO15

    • Тач: GPIO14

  2. SPI-пины общие (SCK, MOSI), но MISO используется только тачем (GPIO19).

  3. RESET можно подключить к GPIO4 или 3.3V (если не нужен программный сброс).

⚙️ Соответствие в User_Setup.h: 

// Дисплей
#define TFT_CS   15     // GPIO15
#define TFT_DC   2      // GPIO2
#define TFT_RST  4      // GPIO4 (или -1, если RESET на 3.3V)
#define TFT_SCLK 18     // GPIO18 (SCK)
#define TFT_MOSI 23     // GPIO23 (MOSI)
#define TFT_MISO 19     // GPIO19 (MISO, для тача)

// Тач-скрин
#define TOUCH_CS 14     // GPIO14

🔧 Что проверить, если не работает:

  1. Пайка CS (GPIO15) и DC (GPIO2) – часто отваливаются!

  2. SCK/MOSI/MISO – должны быть подключены последовательно (без обрывов).

  3. Питание 3.3V – дисплей может не включаться при недостаточном токе.

  4. Заземление (GND) – общее для всех устройств.

📢 Важно!

  • Если дисплей не включается, проверьте RESET (должен быть или на GPIO4, или на 3.3V).

  • Если тач не работает, убедитесь, что T_DO (MISO) подключен к GPIO19.

  • Не используйте один CS для дисплея и тача – это вызовет конфликт!

Само собой ставим библиотеку TFT_eSPI.h в среде Arduino и оттуда же можно будет сразу запустить и примеры.