SOLVED: Display model WB7"TFT color LCD doesn't shows nothing

Hy Guys,

The info:
7" Display purchased: http://www.dx.com/p/i082510-800-x-480-7-tft-touch-screen-module-153336#.U6F8oyjDUss
Info from Dx (diagram): http://m2.img.dxcdn.com/CDDriver/153336.docx

The display controler is SSD1963QL9.
Here I find the pdf with the controller info: http://www.techtoys.com.hk/Components/SSD1963QL9/SSD1963_1.1.pdf
I use an Arduino Due with ide 1.56 r2

The program:
“As a good seller” Dx doesn’t gives more info from the display unit. When I recive it I just see a plastic bag and the display… no wires, no cd or link with libraries and test programs… :astonished:

So, thanks to another very good posts that I read. I found the UTFT and Utouch libraries to try something.

Actually I’m trying this:

#include <UTFT.h>

// Declare which fonts we will be using
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];

// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Arduino Uno / 2009:
// -------------------
// Standard Arduino Uno/2009 shield            : <display model>,A5,A4,A3,A2
// DisplayModule Arduino Uno TFT shield        : <display model>,A5,A4,A3,A2
//
// Arduino Mega:
// -------------------
// Standard Arduino Mega/Due shield            : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Mega      : <display model>,38,39,40,41
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(SSD1963_800,38,39,40,41);

void setup()
{
  myGLCD.InitLCD();
  myGLCD.clrScr();
  myGLCD.setFont(BigFont);
}

void loop()
{
    myGLCD.print("Text rotation", 0, 0);
    myGLCD.setColor(0, 0, 255);
    myGLCD.print("0 degrees", 0, 16, 0);
    myGLCD.print("90 degrees", 319, 0, 90);
    myGLCD.print("180 degrees", 319, 239, 180);
    myGLCD.print("270 degrees", 0, 239, 270);

    myGLCD.setFont(SevenSegNumFont);
    myGLCD.setColor(0, 255, 0);
    myGLCD.print("45", 90, 100, 45);
    myGLCD.print("90", 200, 50, 90);
    myGLCD.print("180", 300, 200, 180);

  while (true) {};
}

It compiles and charge the code without problems… But…

The config:
I see how to configure the pins for Arduino due thanks to the Utft and Utocuh libraries.

| PIN | LABEL | PIN | PIN
| NUM | TFT | ARD | FUNCTION
| | | |
| | | |
| 1 | 3v3 | >> | 3v3 power
| 2 | GND | >> | Ground
| 3 | D0 | 22 |
| 4 | D1 | 23 |
| 5 | D2 | 24 |
| 6 | D3 | 25 |
| 7 | D4 | 26 |
| 8 | D5 | 27 |
| 9 | D6 | 28 |
| 10 | D7 | 29 |
| 11 | D8 | 30 |
| 12 | D9 | 31 |
| 13 | D10 | 32 |
| 14 | D11 | 33 |
| 15 | D12 | 34 |
| 16 | D13 | 35 |
| 17 | D14 | 36 |
| 18 | D15 | 37 |
| 19 | CS | 40 |
| 20 | RS | 38 |
| 21 | WR | 39 |
| 22 | RD | no use |
| 23 | RST | 41 | general reset
| 24 | TE | | Don’t know
| 25 | TD0 | 3 | SPI_MOSI
| 26 | INT | 2 | TP_IRQ/IRQ
| 27 | TD1 | 4 | SPI_MISO
| 28 | PWM | | just to regulate backlight
| 29 | TSCK | 6 | SPI_SCK
| 30 | PCS | | Don’t know
| 31 | TCS | 5 | T_CS
| 32 | SDCS | | Don’t know I think is relationated to sd card…
| 5V | 5V | 5V | Backlight +
| 0V | 0V | 0V | Backlight GND

The problem:
I can’t see nothing in my display :roll_eyes: just a white color, and dark blue when 1 min passed.

Can anybody lose time to help? Thanks in advance.

Hy Again,

I just finish to study all initlcc.h with the SSD1963 manual. SO this is the code and the modifications that I think that could helpfull

case SSD1963_800:
    LCD_Write_COM(0xE2);        //PLL multiplier, set PLL clock to 120M
    LCD_Write_DATA(0x1E);       //N=0x36 for 6.5M, 0x23 for 10M crystal
    LCD_Write_DATA(0x02);
    LCD_Write_DATA(0x54);
    LCD_Write_COM(0xE0);        // PLL enable
    LCD_Write_DATA(0x01);
    delay(10);
    LCD_Write_COM(0xE0);
    LCD_Write_DATA(0x03);
    delay(10);
    LCD_Write_COM(0x01);        // software reset
    delay(100);
    LCD_Write_COM(0xE6);        //PLL setting for PCLK, depends on resolution
    LCD_Write_DATA(0x03);
    LCD_Write_DATA(0xFF);
    LCD_Write_DATA(0xFF);

    LCD_Write_COM(0xB0);        //LCD SPECIFICATION
    LCD_Write_DATA(0x04);  //////changed 0x24 with 18bit
    LCD_Write_DATA(0x60);  //////changed 0x00 serial rgb + dummy
    LCD_Write_DATA(0x03);       //Set HDP   799
    LCD_Write_DATA(0x1F);
    LCD_Write_DATA(0x01);       //Set VDP   479
    LCD_Write_DATA(0xDF);
    LCD_Write_DATA(0x00);  ////// RGB order

    LCD_Write_COM(0xB4);        //HSYNC
    LCD_Write_DATA(0x03);       //Set HT    928
    LCD_Write_DATA(0xA0);
    LCD_Write_DATA(0x00);       //Set HPS   46
    LCD_Write_DATA(0x2E);
    LCD_Write_DATA(0x30);       //Set HPW   48
    LCD_Write_DATA(0x00);       //Set LPS   15
    LCD_Write_DATA(0x0F);
    LCD_Write_DATA(0x00);

    LCD_Write_COM(0xB6);        //VSYNC
    LCD_Write_DATA(0x02);       //Set VT    525
    LCD_Write_DATA(0x0D);
    LCD_Write_DATA(0x00);       //Set VPS   16
    LCD_Write_DATA(0x10);
    LCD_Write_DATA(0x10);       //Set VPW   16
    LCD_Write_DATA(0x00);       //Set FPS   8
    LCD_Write_DATA(0x08);

    LCD_Write_COM(0xBA);
    LCD_Write_DATA(0x0F);       //GPIO[3:0] out 1 

    LCD_Write_COM(0xB8);
    LCD_Write_DATA(0x07);       //GPIO3=input, GPIO[2:0]=output  4 gpio controled by host
    LCD_Write_DATA(0x01);       //GPIO0 normal

    LCD_Write_COM(0x36);        //rotation
    LCD_Write_DATA(0x22);

    LCD_Write_COM(0xF0);        //pixel data interface
    LCD_Write_DATA(0x04);  ////changed 0x03 now 18 bit


    delay(1);

    setXY(0, 0, 799, 479);
    LCD_Write_COM(0x29);        //display on

    LCD_Write_COM(0xBE);        //set PWM for B/L
    LCD_Write_DATA(0x06);
    LCD_Write_DATA(0xf0);
    LCD_Write_DATA(0x01);
    LCD_Write_DATA(0xf0);
    LCD_Write_DATA(0x00);
    LCD_Write_DATA(0x00);

    LCD_Write_COM(0xD0); ////controls de backlight
    LCD_Write_DATA(0x0D);   

    LCD_Write_COM(0x2C); 
    break;

One more time I don't have succes. I'm starting to speak alone in the dark XD

Me again!

I find an error in the pins config.. :astonished: So I reconnect the pins with the display like this:


| PIN | LABEL | PIN | PIN | NUM | TFT | ARD | FUNCTION | | | | | | | | | 1 | 3v3 | >> | 3v3 power | 2 | GND | >> | Ground | 3 | D0 | 37 | | 4 | D1 | 36 | | 5 | D2 | 35 | | 6 | D3 | 34 | | 7 | D4 | 33 | | 8 | D5 | 32 | | 9 | D6 | 31 | | 10 | D7 | 30 | | 11 | D8 | 22 | | 12 | D9 | 23 | | 13 | D10 | 24 | | 14 | D11 | 25 | | 15 | D12 | 26 | | 16 | D13 | 27 | | 17 | D14 | 28 | | 18 | D15 | 29 | | 19 | CS | 40 | | 20 | RS | 38 | | 21 | WR | 39 | | 22 | RD | no use | | 23 | RST | 41 | general reset | 24 | TE | | Don't know | 25 | TD0 | 3 | SPI_MOSI | 26 | INT | 2 | TP_IRQ/IRQ | 27 | TD1 | 4 | SPI_MISO | 28 | PWM | | just to regulate backlight | 29 | TSCK | 6 | SPI_SCK | 30 | PCS | | Don't know | 31 | TCS | 5 | T_CS | 32 | SDCS | | Don't know I think is relationated to sd card... | 5V | 5V | 5V | Backlight + | 0V | 0V | 0V | Backlight GND

And It works partiallly!!! :grin:

Well now I'm going to find a solution to:

  • The image is mirrowed
  • The image displayed only in a quarter of the display... I supose that culd be because of changing the 18 bits mode... I have to check it.