TFT LCD shield divided Screen

david_prentice: Have you tried my MCUFRIEND_kbv library v2.9 ?

Run the LCD_ID_readreg sketch. Paste the report directly from your Serial Terminal.

I was amazed to find that someone actually has a SPFD5408 controller. Most references to SPFD5408 seem to be invented by mendacious Ebay vendors.

Please let me know how you get on.

David.

this the results that You want

Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy)

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 00 08 Get Powsr Mode reg(0x000C) 00 66 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 FF FF 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 01 22 15 20 02 ILI9481, HX8357-B reg(0x00C0) 00 00 4F 00 00 02 00 01 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 07 C3 Power Control reg(0x00D2) 00 63 24 00 00 NVM Read reg(0x00D3) 00 00 00 00 ILI9341, ILI9488 reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 00 00 00 00 00 00 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

Well, that shows you have a R61520 controller just like the other punters with the non-interlaced screens. i.e. an ID of 0x1520.

Surely you just plug in the shield and run with the new v2.90 library.

Please let me know if you have a problem. Or even better, if you have a solution.

David.

uh .. i had the split screen problem ... with any other library i tested for half a day .. thanks .. works like a charm

Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy)

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 00 08 Get Powsr Mode reg(0x000C) 00 66 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 FF FF 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 01 22 15 20 02 ILI9481, HX8357-B reg(0x00C0) 00 00 4F 00 00 02 00 01 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 07 C3 Power Control reg(0x00D2) 00 63 24 00 00 NVM Read reg(0x00D3) 00 00 00 00 ILI9341, ILI9488 reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 00 00 00 00 00 00 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

david_prentice: Well, that shows you have a R61520 controller just like the other punters with the non-interlaced screens. i.e. an ID of 0x1520.

Surely you just plug in the shield and run with the new v2.90 library.

Please let me know if you have a problem. Or even better, if you have a solution.

David. [Unfortunately, it can not function with the LCD display

I got a help from the dealer for programming the controller, but it does not go with these settings

100% brand new and high quality Tftlcd 3.6-inch touch screen with uno r3 3.6-inch LCD touch screen Resolution : 480x320 Controller : ili9488 Test code: ILI9327: LCD_Write_COM(0xE9); LCD_Write_DATA(0x20); LCD_Write_COM(0x11); //Exit Sleep delay(100); LCD_Write_COM(0xD1); LCD_Write_DATA(0x00); LCD_Write_DATA(0x71); LCD_Write_DATA(0x19); LCD_Write_COM(0xD0); LCD_Write_DATA(0x07); LCD_Write_DATA(0x01); LCD_Write_DATA(0x8); LCD_Write_COM(0x36); LCD_Write_DATA(0x48); LCD_Write_COM(0x3A); LCD_Write_DATA(0x05); LCD_Write_COM(0xC1); LCD_Write_DATA(0x10); LCD_Write_DATA(0x10); LCD_Write_DATA(0x02); LCD_Write_DATA(0x02); LCD_Write_COM(0xC0); //Set Default Gamma LCD_Write_DATA(0x00); LCD_Write_DATA(0x35); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x01); LCD_Write_DATA(0x02); LCD_Write_COM(0xC5); //Set frame rate LCD_Write_DATA(0x04); LCD_Write_COM(0xD2); //power setting LCD_Write_DATA(0x01); LCD_Write_COM(0x44); LCD_Write_COM(0xC8); //Set Gamma LCD_Write_DATA(0x04); LCD_Write_DATA(0x67); LCD_Write_DATA(0x35); LCD_Write_DATA(0x04); LCD_Write_DATA(0x08); LCD_Write_DATA(0x06); LCD_Write_DATA(0x24); LCD_Write_DATA(0x1); LCD_Write_DATA(0x37); LCD_Write_DATA(0x40); LCD_Write_DATA(0x03); LCD_Write_DATA(0x10); LCD_Write_DATA(0x8); LCD_Write_DATA(0x80); LCD_Write_DATA(0x0); LCD_Write_COM(0x2A); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0xeF); LCD_Write_COM(0x2B); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x01); LCD_Write_DATA(0x3F); LCD_Write_COM(0x29); //display on LCD_Write_COM(0x2C); //display on Color is shown as pictures NOTE: Due to lighting effects, monitor's brightness / contrast settings etc, there could be some slight differences in the color tone of the pictures and the actual item

http://www.ebay.com/itm/111687922300?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT /quote]

nemant:

david_prentice: Well, that shows you have a R61520 controller just like the other punters with the non-interlaced screens. i.e. an ID of 0x1520.

Surely you just plug in the shield and run with the new v2.90 library.

Please let me know if you have a problem. Or even better, if you have a solution.

David.

david_prentice: Well, that shows you have a R61520 controller just like the other punters with the non-interlaced screens. i.e. an ID of 0x1520.

Surely you just plug in the shield and run with the new v2.90 library.

Please let me know if you have a problem. Or even better, if you have a solution.

David.

I also have an LCD display and is not working, The dealer got help from programming, Please help me, I'll explain where I was and programming help.

http://www.ebay.com/itm/111687922300?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

100% brand new and high quality Tftlcd 3.6-inch touch screen with uno r3 3.6-inch LCD touch screen Resolution : 480x320 Controller : ili9488 Test code: ILI9327: LCD_Write_COM(0xE9); LCD_Write_DATA(0x20); LCD_Write_COM(0x11); //Exit Sleep delay(100); LCD_Write_COM(0xD1); LCD_Write_DATA(0x00); LCD_Write_DATA(0x71); LCD_Write_DATA(0x19); LCD_Write_COM(0xD0); LCD_Write_DATA(0x07); LCD_Write_DATA(0x01); LCD_Write_DATA(0x8); LCD_Write_COM(0x36); LCD_Write_DATA(0x48); LCD_Write_COM(0x3A); LCD_Write_DATA(0x05); LCD_Write_COM(0xC1); LCD_Write_DATA(0x10); LCD_Write_DATA(0x10); LCD_Write_DATA(0x02); LCD_Write_DATA(0x02); LCD_Write_COM(0xC0); //Set Default Gamma LCD_Write_DATA(0x00); LCD_Write_DATA(0x35); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x01); LCD_Write_DATA(0x02); LCD_Write_COM(0xC5); //Set frame rate LCD_Write_DATA(0x04); LCD_Write_COM(0xD2); //power setting LCD_Write_DATA(0x01); LCD_Write_COM(0x44); LCD_Write_COM(0xC8); //Set Gamma LCD_Write_DATA(0x04); LCD_Write_DATA(0x67); LCD_Write_DATA(0x35); LCD_Write_DATA(0x04); LCD_Write_DATA(0x08); LCD_Write_DATA(0x06); LCD_Write_DATA(0x24); LCD_Write_DATA(0x1); LCD_Write_DATA(0x37); LCD_Write_DATA(0x40); LCD_Write_DATA(0x03); LCD_Write_DATA(0x10); LCD_Write_DATA(0x8); LCD_Write_DATA(0x80); LCD_Write_DATA(0x0); LCD_Write_COM(0x2A); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0xeF); LCD_Write_COM(0x2B); LCD_Write_DATA(0x00); LCD_Write_DATA(0x00); LCD_Write_DATA(0x01); LCD_Write_DATA(0x3F); LCD_Write_COM(0x29); //display on LCD_Write_COM(0x2C); //display on Color is shown as pictures NOTE: Due to lighting effects, monitor's brightness / contrast settings etc, there could be some slight differences in the color tone of the pictures and the actual item

Your Ebay link is mendacious. Only you can tell us which photos are true and which are a lie.

Search this site for other threads about 3.6" vs 3.5" displays.
The 3.6 are 240x400 and 3.5" are 320x480. i.e. different shapes.

Whichever one you have, I suspect that my library would work.
Or at least, I could get you working.

Run the LCD_ID_readreg.ino sketch. Copy-paste the Serial output to a CODE window. e.g. like #22

David.

ID = 0x1520

Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy)

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 08 08 Get Powsr Mode reg(0x000C) 66 66 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 01 01 22 15 81 00 ILI9481, HX8357-B reg(0x00C0) 00 00 3B 00 02 00 01 00 43 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 00 00 Power Control reg(0x00D2) 03 03 24 04 00 NVM Read reg(0x00D3) 03 03 24 04 ILI9341, ILI9488 reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 00 00 00 00 00 00 ILI9327 reg(0x00F2) 07 07 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

You have a Renesas R61581 controller. 320x480.

Download ZIP MCUFRIEND_kbv library from GitHub. Install this Beta library from the ZIP.

David.

Thanks for your help, it works!

Good day, to: david_prentice (and more) I have the same LCD MCUFRIEND 3.5 inch and the same chip R61520 and UNO Please help: - Exist R61520 datasheet? Manufacturer unresponsive. - The forum's discussions only on LCD. It works even someone TOUCH panel? What uses Touch software? Thank you for your help. Peter

The R61520 is a 240x320 controller. I have not been able to obtain a datasheet but it is "similar" to the 240x320 R61526 controller.

Please look at the LCD_ID_readreg reports in #22, #27. The R61581 is a 320x480 controller.

Earlier versions of the library identified 0x1520 on a 3.5" R61581 display. Earlier versions did not recognise a HX8357-D 320x480 controller. The current v2.9.3 Release on GitHub should work fine. You can delete an old library folder and install via the Library Manager in the IDE.

New controllers appear on the Ebay market every week or two. Sometimes I can add support within minutes. Sometimes it is difficult to overcome "features". e.g. the R61526 and UC8230 have some very unusual bugs.

Please run the LCD_ID_readreg.ino sketch and paste the result in a message.

David.

Thanks, Here is a list of my LCDTFT Touch:

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, …
reg(0x0004) 00 00 00 00 Manufacturer ID
reg(0x0009) 00 00 00 00 00 Status Register
reg(0x000A) 08 08 Get Powsr Mode
reg(0x000C) 66 66 Get Pixel Format
reg(0x0061) 00 00 RDID1 HX8347-G
reg(0x0062) 00 00 RDID2 HX8347-G
reg(0x0063) 00 00 RDID3 HX8347-G
reg(0x0064) 00 00 RDID1 HX8347-A
reg(0x0065) 00 00 RDID2 HX8347-A
reg(0x0066) 00 00 RDID3 HX8347-A
reg(0x0067) 00 00 RDID Himax HX8347-A
reg(0x0070) 00 00 Panel Himax HX8347-A
reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963
reg(0x00B0) 00 00 RGB Interface Signal Control
reg(0x00B4) 00 00 Inversion Control
reg(0x00B6) 00 00 00 00 00 Display Control
reg(0x00B7) 00 00 Entry Mode Set
reg(0x00BF) 01 01 22 15 81 00 ILI9481, HX8357-B
reg(0x00C0) 00 00 3B 00 02 00 01 00 43 Panel Control
reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA
reg(0x00CC) 00 00 Panel Control
reg(0x00D0) 00 00 00 Power Control
reg(0x00D2) 03 03 24 04 00 NVM Read
reg(0x00D3) 03 03 24 04 ILI9341, ILI9488
reg(0x00DA) 00 00 RDID1
reg(0x00DB) 00 00 RDID2
reg(0x00DC) 00 00 RDID3
reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P
reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N
reg(0x00EF) 00 00 00 00 00 00 ILI9327
reg(0x00F2) 07 07 00 00 00 00 00 00 00 00 00 00 Adjust Control 2
reg(0x00F6) 00 00 00 00 Interface Control

Touch section does not work. Some ideas please?
Thanks, Peter, 01.febr.2017

Yes, you have a 320x480 screen with a R61581.

First off. Is the Glass Touch Panel cracked? If it is, it will never work.

Run the Diagnostic sketch to find the Touch pins. It should work with "typical" values e.g. TS_LEFT=900, TS_RIGHT=150. Then calibrate it for perfect values.

David.

Hi David,

I'm using MCUFRIEND_kbv-2.9.3 library on my 2.4″ TFT TOUCHSCREEN SHIELD. But it's giving me split screens when I run the graphictest_kbv.

The results from LCD_ID_readreg is:

Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy)

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 60 00 00 Status Register reg(0x000A) 00 08 Get Powsr Mode reg(0x000C) 00 06 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 00 00 Power Control reg(0x00D2) 00 00 00 00 00 NVM Read reg(0x00D3) 00 00 00 00 ILI9341, ILI9488 reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 00 00 00 00 00 00 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

I have no idea what controller you have. I can not see any clues from your readreg output.
You could try reading every register. There is no point in posting loads of 00 00 00 …
But if you see some actual response, you could say which register.

When you say split-screen, what do you mean?

David.

Edit. Library Manager has been updated to v2.9.5 Release of the MCUFRIEND_kbv library

Thanks David,

These are the registers that have response:

reg(0x002E) 00 28 28 28 54 54 54 f.k
reg(0x003E) 00 54 54 54 54 54 54 f.k
reg(0x00AE) 00 54 54 54 54 54 54 f.k
reg(0x00BE) 00 54 54 54 54 54 54 f.k

And regarding the split-screen you can view it from the image attached.

2E and 3E are just the regular RAMRD registers.

Your photo looks like a 220x176 panel. i.e. it looks smaller than a regular 2.4" 240x320 panel.

Where did you buy it from?

I can probably get it to "work", but I would be happier if I could identify the controller. How experienced are you with GitHub or editing CPP files?

Are you in Europe?

David.

I'm in Asia I bought it from a local online shopping website. Based on the specifications given on the product page it's 2.4" 240x320 screen It also states its IL9341 controller.

I have a basic knowledge with GitHub and editing CPP files.

You can measure the dimensions of your screen. Identify the number of pixels.

Please install the new 2.9.5 Release. I will post a simple edit for you.

Edited:

MCUFRIEND_kbv.cpp:

    case 0x1234:                //fictional ID
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | REV_SCREEN | READ_24BITS;
        static const uint8_t X1234_regValues[] PROGMEM = {
            TFTLCD_DELAY8, 10,    //dummy delay
        };
        table8_ads = X1234_regValues, table_size = sizeof(X1234_regValues);
        p16 = (int16_t *) & HEIGHT;
        *p16 = 220;
        p16 = (int16_t *) & WIDTH;
        *p16 = 176;
        break;

Then force tft.begin(0x1234) in the graphictest_kbv (or other) sketch

David.