Подключение GMT130-V1.0 (IPS 240×240, контроллер ST7789) к Arduino Nano
Ниже — рабочая инструкция: распиновка, замечания по питанию/уровням логики и готовый пример скетча с использованием библиотек Adafruit (самый простой путь).

1) Коротко о важном
- Модуль на ST7789 работает от 3.3 В. Нельзя подавать 5 В на VCC/логические входы.
- Arduino Nano — 5 В логика; требуется преобразование уровней для линий MOSI, SCK, DC, CS, RST (или использовать модуль с встроенным лог-шифтером).
- Аппаратный SPI на Nano:
- MOSI = D11,
- MISO = D12,
- SCK = D13.
- ST7789 обычно использует только MOSI+SCK (без MISO).
- Подсветку (BL, LED, BCK или BLK) обычно подключают к 3.3 В через транзистор/резистор либо к PWM-выходу через N-MOSFET/PNP, если нужен ярк-контроль.
2) Рекомендованная распиновка (названия могут отличаться на модуле: SDA/MOSI, SCL/SCK, DC, RST, CS, BL, VCC, GND)
Модуль (GMT130) | Arduino Nano |
---|---|
GND | GND |
VCC (или 3.3V) | 3.3V (на Nano или отдельный стабилизатор) |
SCL / SCK | D13 (SCK) |
SDA / MOSI | D11 (MOSI) |
RST | D9 (пример) — можно и к RESET модуля напрямую |
DC (или D/C) | D8 (пример) |
BL / LED / BCK | 3.3V (через транзистор/резистор) или Arduino D3 для ШИМ |

Если модуль имеет Согласование логических уровней 5→3.3В — провода можно вести напрямую.
Если нет — используйте 74HCT125/4050/level shifter или N-MOSFET/ резисторные делители (для MOSI/SCK не рекомендуется делитель ).

3) Подключение подсветки (без шим)
Если не нужен регулировка яркости: BL → 3.3V (через резистор, если требуется).
Если нужен PWM: Arduino D3 → N-MOSFET (например 2N7002 или 2N2222 с подтяжкой) → минус подсветки; плюс подсветки → 3.3V. Общий GND обязателен.
4) Библиотеки (установите через Library Manager)
- Adafruit GFX Library
- Adafruit ST7735 and ST7789 Library
(оба доступны в Library Manager Arduino IDE)
5) Пример скетча (использует аппаратный SPI)
Скопируйте и загрузите в Arduino IDE. Подставьте пины, которые вы выбрали
(в примере —
CS=D10,
DC=D8,
RST=D9).
#include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_ST7789.h> // Настройте пины согласно вашей проводке: #define TFT_CS 10 #define TFT_DC 8 #define TFT_RST 9 // Можно -1 если RST не подключён // Объект дисплея (использует аппаратный SPI) Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); void setup() { // Настройка последовательного вывода для отладки Serial.begin(115200); delay(100); // Инициализация SPI и дисплея tft.init(240, 240, SPI_MODE2); // width, height для ST7789 240x240 tft.setRotation(0); // при необходимости меняйте tft.fillScreen(ST77XX_BLACK); // Пример вывода tft.setTextWrap(true); tft.setTextSize(2); tft.setCursor(10, 10); tft.setTextColor(ST77XX_WHITE); tft.println("ST7789 240x240"); tft.setTextSize(1); tft.setCursor(10, 50); tft.println("GMT130-V1.0"); // Простой график/цветной прямоугольник tft.fillRect(10, 80, 220, 100, ST77XX_RED); tft.drawRect(9, 79, 222, 102, ST77XX_WHITE); } void loop() { // мигать подсветкой, если подключена к пину PWM через транзистор (пример D3) // analogWrite(3, 128); // 0..255 delay(1000); }
6) Полезные советы и отладка
- Питание: убедитесь, что 3.3 В стабилен и может отдавать достаточный ток (модули могут тянуть 100–300 мА при яркой подсветке). Лучше использовать отдельный регулятор 3.3 В, не нагрузить 3.3 V вывод Arduino если он слабый.
- Преобразование уровней: если не уверены — используйте буфер/level shifter. Подключение 5 В на линиях MOSI/SCK может повредить дисплей.
- Неправильная ориентация/цвета: попробуйте менять
tft.setRotation()
и инициализацию (некоторые варианты ST7789 требуютtft.init(240, 240)
vstft.init(240, 320)
; для 240×240 ставим 240,240). - Медленная или неиспользуемая часть экрана: проверьте правильность ширины/высоты и пинов CS/DC/RST.
- Если модуль подписан SCL/SDA — это SPI, но названия похожи на I2C; ориентируйтесь по остальным пинам (CS, DC, RST) — это SPI-дисплей.