Issue with ST7735 LCD Display -> white screen

Hello
I got the ST7735 working with the photon but only with a dark “LCD”
When I connect VCC and the Backlight with 3,3 V everything works well except the Display is not light as it should be.
When changing VCC to 5 V it getting light as it should be. But as soon as I want to display anything the display stay white.
Also when I start the photon with VCC at 5V connected its always white. The Jumper on the Display is set to 5V.

Next observation is: I have connected the USB to an PowerPack but when I use a USB Power device (Apple12W) the screen is always white

Does anybody has a clue ?

The next test will be to use a extern 5V supply and power Photon and ST7735 separate to see if this makes the change.
Today the photon is connected via USB and I take the 5V from the VIN Pin at the photon.

I use the following test program:

#include <Adafruit_ST7735.h>

#define cs   A2
#define dc   D0
#define rst  0  

Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst); // hardware spi

void setup() {
    
    Serial.begin(9600);
    
    Particle.function("REDRAW",redraw);
    
    
    tft.initG(); // war initG
    //tft.initR(INITR_GREENTAB); 
	tft.fillScreen(ST7735_WHITE);

    tft.setCursor(0, 0);
    tft.setTextColor(ST7735_BLACK);
    
    tft.setTextWrap(true);
    tft.print("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla");     
    
   // tft.drawLine(0, 0, tft.width()-1, tft.height()-1, ST7735_YELLOW);
   // tft.drawLine(tft.width()-1, 0, 0, tft.height()-1, ST7735_YELLOW);

    tft.drawPixel(0, tft.height()/2, ST7735_GREEN);

}

void loop() {

}

int redraw(String command)

{
    if (command=="INIT")
       {
        tft.fillScreen(ST7735_BLACK);

        tft.setCursor(0, 0);
        tft.setTextColor(ST7735_WHITE);
    
        tft.setTextWrap(true);
        tft.setTextSize(2);
        tft.print("Bildschirm aktualisiert");  
       }
    if (command=="TEST")
       {
        tft.fillScreen(ST7735_BLUE);

        tft.setCursor(0, 0);
        tft.setTextColor(ST7735_WHITE);
    
        tft.setTextWrap(true);
        tft.setTextSize(1);
        tft.print("Bildschirm aktualisiert");  
       }   
    
    if (command=="BOX")
       {
         tft.fillScreen(ST7735_WHITE);
         tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_RED);
         // play color
         tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_GREEN);  
       }
        
    return -1;
}

and I use this ST7735 board:

Have you tried to a djust the backlight via the BL pin.

If everything but the BL works powered via 3v3 I’d try that again and experiment with the BL pin.

I have solved the problem the RST pin from ST7735 need to be connected to difined pin at Photon.
Now display works on USB Power and has the right lightness.
I also figured out that DIN or RS Pin from ST7735 is equal to A0 so now I can start to think about an application for the ST7735

Best Regards

Stephan

1 Like