Go Down

Topic: Another MCUFriend Arduino Compatible TFT Display (Read 225 times) previous topic - next topic


I bought a bunch of 3.5"  480x320 MCUFriend Displays.  I've used the MCUFriend tool to try to identify the controller chip and have successfully identified many of them.  I have one here that puzzles me.  Here is the dump of the registers from the MCUFriend 'LCD-ID' sketch.

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) 40 40   ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 00 80 00   Manufacturer ID
reg(0x0009) 00 00 61 00 00   Status Register
reg(0x000A) 00 08   Get Power Mode
reg(0x000C) 00 06   Get Pixel Format
reg(0x0061) 61 61   RDID1 HX8347-G
reg(0x0062) 62 62   RDID2 HX8347-G
reg(0x0063) 63 63   RDID3 HX8347-G
reg(0x0064) 64 64   RDID1 HX8347-A
reg(0x0065) 65 65   RDID2 HX8347-A
reg(0x0066) 66 66   RDID3 HX8347-A
reg(0x0067) 67 67   RDID Himax HX8347-A
reg(0x0070) 00 61   Panel Himax HX8347-A
reg(0x00A1) 00 00 00 00 00   RD_DDB SSD1963
reg(0x00B0) F0 F0   RGB Interface Signal Control
reg(0x00B4) F4 F4   Inversion Control
reg(0x00B6) F6 F6 F6 F6 F6   Display Control
reg(0x00B7) F7 F7   Entry Mode Set
reg(0x00BF) FF FF FF FF FF FF   ILI9481, HX8357-B
reg(0x00C0) C0 C0 C0 C0 C0 C0 C0 C0 C0   Panel Control
reg(0x00C8) C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8   GAMMA
reg(0x00CC) CC CC   Panel Control
reg(0x00D0) D0 D0 D0   Power Control
reg(0x00D2) D2 D2 D2 D2 D2   NVM Read
reg(0x00D3) D3 D3 D3 D3   ILI9341, ILI9488
reg(0x00D4) D4 D4 D4 D4   Novatek ID
reg(0x00DA) 00 00   RDID1
reg(0x00DB) 00 80   RDID2
reg(0x00DC) 00 00   RDID3
reg(0x00E0) E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0 E0   GAMMA-P
reg(0x00E1) E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1 E1   GAMMA-N
reg(0x00EF) EF EF EF EF EF EF   ILI9327
reg(0x00F2) F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2   Adjust Control 2
reg(0x00F6) F6 F6 F6 F6   Interface Control

Anyone recognize this one?

I'm trying to accumulate several displays for testing of a new library.  Not sure what controller is on this one.  I'm using an Arduino Mega2560 with the standard MCRFriend sketch loaded.  The display works with the MCUFriend demo so I believe it is in good condition.

Any help is appreciated.


I have no idea what controller you have.   As you can see,  only DA, DB, DC seem to have any information.
You can edit the LCD_ID_readreg sketch:

in readReg()
Code: [Select]

    lcdWriteCommand(0xB0);     //Command Access Protect
    lcdWriteData(0x0F);        //some protect with 0x00, some use 0x0F

in setup()
Code: [Select]

    lcdReset();      //ensures that controller is in default state
    for (uint16_t i = 0; i < 256; i++) readReg(i, 7, "f.k");
    readReg(0x00, 2, "ID: ILI9320, ILI9325, ILI9335, ...");

I would try different protection values first.   Or not at all.
Then test every register to see if anything shows up.

Which controllers do you own?   e.g. IDs reported by MCUFRIEND_kbv

You can try forcing any of the supported 320x480 IDs.   Which IDs work?  Which works best?
Note that some of these require enabling the relevant SUPPORT_xxx macros.   There is a list in the mcufriend_how_to.txt file



Thanks for the reply.  Currently I only have ILI9488, Novatek 5310 (?), and Renasas 61581 controllers in my stash.  This is why I was so interested in this one that I can't seem to identify.

I'm not at the point yet where I can comment on which one looks better.  My major goal is to first get the library to recognize and initialize the controllers that I have, so far, seen on these displays.

I've played around with modifying the sketch to show more registers but no success yet.

I'll give the 'protection' idea a try next.

Thanks Again...

Go Up