Go Down

Topic: [Solved] TFT ST7789 Display Issues  (Read 185 times) previous topic - next topic


Jan 14, 2020, 04:10 pm Last Edit: Jan 14, 2020, 04:23 pm by haroldjclements
Hi Forum,

I have a 7 Pin ST7789 driven TFT Display that I am having issues with. However, I am not sure if it is the display or the state of the microcontroller (in my case an Arduino Nano).

I am using the Arduino_ST7789_Fast library, using SPI and have uploaded the HelloWorld! sketch. I have connected the devices as per the example.

My issue is that, once I have uploaded the code, the screen flickers then remains blank. If I upload a new sketch, or reset the microcontroller the screen comes on and displays until the microcontroller has booted, then goes blank again.

Any advice / suggestions will be gratefully received.

Kind Regards,


Typical... You create a post and then solve the issue yourself!

Despite the ST7789 having 3.3v on the silkscreen, if I hook it up to the 5v rail, the display remains on :)



I just tried your sketch with TFT_DC=9 because that is how my shield is wired.
It worked fine with my copy of Arduino_ST7789.h

Code: [Select]

Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino-1.8.9\hardware\arduino\avr\libraries\SPI
Using library Adafruit_GFX_Library at version 1.7.3 in folder: C:\Users\David Prentice\Documents\Arduino\libraries\Adafruit_GFX_Library
Using library Arduino_ST7789_Fast-master at version 1.0.3 in folder: C:\Users\David Prentice\Documents\Arduino\libraries\Arduino_ST7789_Fast-master
"C:\\Program Files (x86)\\Arduino-1.8.9\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\DAVIDP~1\\AppData\\Local\\Temp\\arduino_build_194581/graphicstest.ino.elf"
Sketch uses 8682 bytes (26%) of program storage space. Maximum is 32256 bytes.
Global variables use 285 bytes (13%) of dynamic memory, leaving 1763 bytes for local variables. Maximum is 2048 bytes.

Of course,   my version is elderly.

Please note that this screen is 3.3V only.

If you connect VCC to 5V it will get very HOT and die.



Jan 17, 2020, 05:48 pm Last Edit: Jan 17, 2020, 05:49 pm by Miniflyer
I have the IPS 240*240 also, ordered through Aliexpress

Im using the exact library as linked above, and the included hello world sketch.

I have tried Pins 7 and 8 as in the code, 8 and 9 as in other ST77XX drivers.....but all i am getting is a black screen. Backlight is on if i look at the shield from the side.
Nothing else is happening.....

Here is my wiring:


Try connecting the GND pin on the display to the GND pin on your Arduino.

You have connected VCC pin to 3.3V.
We can't read the value(s) of your series resistors.

You can leave BLK open.   But it is safer to use a known logic level.

Seriously.   Life is much simpler with proper 3.3V GPIO.



Jan 17, 2020, 06:21 pm Last Edit: Jan 17, 2020, 06:22 pm by Miniflyer
The GND is connected to Arduino GND via the black cable to the GND Bus, and from there with the silver bridge.
Connecting directly does not change the result, see here:

Here are the Resistors. They are 1.2K and 1.8K


Go on.   Look at your black wires.   What is a silver bridge?   Ah-ha.  163720.jpg shows a wire jumper.

So your wiring should work.

I recognise your 240x240 display.
I do not recognise the 128x128 display.   Please post a photo of its pcb.



The 128*128 is an ST7735S chip. I have deliberately seperated this question from the 128*128 thread because it is different hardware, different drivers and even different pins. Id like to keep the 7789 discussion here and the 7735 discussion there.
The 7735 specs of the 128*128 are on post 3 in the other thread....

Yes the wiring works...it works halfways on the other display, so connections seem to be there and correct so far. Also the voltage divider on 1.2K and 1.8K puts out something in the usable vicinity (2.8V).

What i find irritating is that the backlight is on, but the screen turns all black......i would expect it to show white if not connected or adressed properly.....

Go Up