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!
Interesting, I wired it directly and it seemed to work fine. Also, it appears that I may have named the variables wrongly (CS and RST)