I recently decided to order an arduino nano and a tft display from AliExpress. When I looked up online it took me some time to find a clear guide how to connect the display to the arduino, either the display had different pins or it was a slightly different model, but with some trial and error, I managed to get it to work.
- 1x Arduino Nano
- 1x AdaFruit 1.3" 240x240 ST7789 display
- 6x jumper wires or whatever else you can use to connect
Connect the display pins to arduino like so:
- GND to GND
- VCC to 3V3
- SCL to D13
- SDA to D11
- RES to D7
- DC to D9
- BLK to GND if you for some reason want to turn off the backlight, I left it as is
Go to Tools->Manage Libraries and search for gfx install the AdaFruit graphics library and then search for ST7789 and install the display library.
#include <Adafruit_GFX.h> // graphics library
#include <Adafruit_ST7789.h> // library for this display
#include <SPI.h>
#define TFT_CS 10 // if your display has CS pin
#define TFT_RST 8 // reset pin
#define TFT_DC 9 // data pin
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 240, SPI_MODE2);
tft.setRotation(2); // rotates the screen
tft.fillScreen(ST77XX_BLACK); // fills the screen with black colour
tft.setCursor(10, 10); // starts to write text at y10 x10
tft.setTextColor(ST77XX_WHITE); // text colour to white you can use hex codes like 0xDAB420 too
tft.setTextSize(3); // sets font size
tft.setTextWrap(true);
tft.print("HELLO WORLD!");
}
void loop() {
}And that's basically it! You've successfully connected a ST7789 display to an arduino nano!

The manufacturer stated that it works at 3.3V. Since there is no regulator present on the board, supplying 5V directly might work, but it could damage the display over time.