3.5" TFT дисплеи с SPI интерфейсом — популярное решение для проектов на ESP32, особенно в корпусных устройствах, сенсорных панелях и DIY-интерфейсах. 3.5" TFT LCD дисплеи с разрешением 320×480 и SPI интерфейсом широко продаются под маркировкой ST7796S SPI module. Однако на практике часто выясняется, что реальный контроллер внутри может отличаться от заявленного.
Важный нюанс:
- даже если на плате написано ST7796S, реальный контроллер может отличаться.
В нашем случае дисплей “из коробки” не заработал как ожидалось, хотя SPI и инициализация проходили без ошибок.
- В конце статьи — готовый рабочий код
По итогам статьи вы получите:
- Полностью работающий 3.5" TFT дисплей на ESP32-S3
- Готовый рабочий код для Arduino IDE (в конце статьи)
- Проверенную конфигурацию TFT_eSPI
Компоненты
- ESP32-S3 WROOM 30 pin
- TFT LCD 3.5" 320×480 SPI
- Провода Dupont / пайка
- Питание 3.3V (при тесте запитывалось от пинов esp32)
Тестим
Для подключения дисплея к esp32 s3 wroom будем использовать стандартную библиотеку TFT_eSPI SPI Для подключения дисплея нужно настроить конфигурационный файл в папке библиотеки User_Setup.h который находится в: C:\Users\_Name_\Documents\Arduino\libraries\TFT_eSPI\User_Setup.h
#define USER_SETUP_LOADED 1
#define ILI9488_DRIVER
#define TFT_WIDTH 320
#define TFT_HEIGHT 480
// SPI (мінімальний набір)
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15
#define TFT_DC 16
#define TFT_RST -1
#define TFT_MISO -1
#define SPI_FREQUENCY 10000000
#define SPI_READ_FREQUENCY 10000000
// шрифти вимкнено для тесту
#undef LOAD_GLCD
#undef LOAD_FONT2
#undef LOAD_FONT4
#undef LOAD_FONT6
#undef LOAD_FONT7
#undef LOAD_FONT8
#undef LOAD_GFXFF
#undef SMOOTH_FONT
Важно:
В процессе тестирования выяснилось, что реальный контроллер дисплея не соответствует маркировке. Обратите внимание что дисплей заработал после того как в настройках указали #define ILI9488_DRIVER вместо логичного #define ST7796_DRIVER
Соответствие пинов: дисплей | esp32s3 wroom
MOSI → GPIO 23
SCLK → GPIO 18
CS → GPIO 5
DC → GPIO 2
RST → не используется (или -1)
BL → 3.3V
После подключения обязательно проверь питание подсветки (BL) она должна быть подключена к + 3,3v.
Код и логика работы
Дисплей работает через библиотеку TFT_eSPI. Логика простая:
- инициализация SPI дисплея
- проверка подключения
- циклическая заливка экрана цветами
- вывод статуса в Serial Monitor
Полный рабочий скетч находится в конце статьи.
Настройка и проверка
После прошивки проверяем:
- появляется ли заливка на экране
- меняются ли цвета
- есть ли лог в Serial Monitor
Если экран остаётся белым:
- проверь питание BL
- снизь SPI частоту до 8–20 MHz
- проверь драйвер дисплея
Возможные проблемы
Белый экран
чаще всего неправильный драйвер или нет подсветки BL
Инициализация проходит, но нет изображения
дисплей не ST7796S, а другой контроллер
Артефакты / мерцание
слишком высокая SPI частота
Итог
- 3.5" SPI TFT дисплеи — отличное решение для ESP32 проектов, но важно учитывать:
- маркировка ST7796S не всегда соответствует реальному контроллеру
- часто требуется подбор драйвера (в нашем случае ILI9488)
- правильная настройка TFT_eSPI решает 90% проблем
Главное правило:
Если дисплей “живой, но белый” — это почти всегда не код, а драйвер или подсветка



Комментарии к статье
Пока нет комментариев. Будьте первым!
Добавить комментарий