3x mcufriend 3.6 tft find difference :)

Hello guys, I just bought 3x mcufriend 3.6 tft displays from ebay from one seller. They should be the same but as you can see one is different :o Maybe you know what is different with this tft ?
Im still waiting for my arduino uno, when I get it I will check tft chipset.

For a start, the displays are 3.5" and not 3.6"

They "look" as if they will be 320x480.
The 3.6" displays are normally 240x400. i.e. long and narrow.

I do not see any 3.3V regulator on the two left hand displays. The 3.3V regulator on a UNO is not capable of supplying the 200mA backlight.

Most shields are supported by the MCUFRIEND_kbv library. It should report the ID.

If not, run the LCD_ID_readreg.ino sketch. Copy-paste the Serial Terminal and post it in a message.

David.

Thank you again for helping me :slight_smile:
You are right I measured displays and they are 8.8 cm which is about 3.5".
I check IDs and the one with regulator is 0xD3D3 (when running tests picture is inverted with colors and position mirrored) and the other two are 0x0 (displays only white screen) hmmm this is strange, I'm pasting you LCD_ID_readreg.ino sketch Serial printout

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

After a while I got ID=1520 with other one displays but still white screen.

You have a Renesas R61581. It should work with tft.begin(0x9481).

You need to download the library from GitHub to use the 0x1520 controller.

Or just try with 0x9481.

Please let me know the results.

David.

Ok ! finally i got my Arduino Unos. I uploaded graphictest_kbv with tft.begin(0xD3D3) and tft.begin(0x9481). Both displays work with 0x9481 but image is kind of flipped and colors are different(shows blue but it says red - the one with 3V3 regulator).
I will try both displays with the library you are talking about but could you help me find it ? Is it the AdaFruit GitHub or other or maybe you have a link for that ?
Thanks in advance david_prentice !

Ah-ha. You are the gentleman with a Renesas R61581.

If you have got a Uno. Plug the shield into the Uno.
Run the graphictest_kbv from the examples. It should report ID = 0x1581 on the Serial Terminal.

Report back with colours, mirroring, scroll directions, ... or any other problems.
Any differences should be easy to fix.

If you really have an 0x1520 controller, it would be a 2.4" 240x320 screen.

David.

Yes I'm :slight_smile:

I did that and Serial Terminal says 0x1520 but as I measured earlier it is 3.5" not 2.4".

See for yourself, here is comparation between 0x1520 and 0x9481, you can see colors also there:

and 0xD3D3 and 0x9481:

Tom.

Your cracked 0x9481 display is "normal" i.e. Portrait is with USB at the top.
The 0x1520 and 0xd3d3 are both Portrait with USB at the bottom. i.e. ribbon is at bottom.

Please could you run LCD_ID_readreg on both these displays. I will tell you what to do when I have seen your readreg outputs. Then any video needs to be with both displays in the correct Portrait orientation.

David.

Edit. the current Master branch on GitHub recognises a R61581 (I assume this your 0xD3D3)
I have just made it invert colours and fix horiz mirror

Serial Terminal printout for 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

for 0xD3D3

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) 80 80	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 Powsr Mode
reg(0x000C) 00 06	Get Pixel Format
reg(0x0061) E1 E1	RDID1 HX8347-G
reg(0x0062) E2 E2	RDID2 HX8347-G
reg(0x0063) E3 E3	RDID3 HX8347-G
reg(0x0064) E4 E4	RDID1 HX8347-A
reg(0x0065) E5 E5	RDID2 HX8347-A
reg(0x0066) E6 E6	RDID3 HX8347-A
reg(0x0067) E7 E7	RDID Himax HX8347-A
reg(0x0070) 00 75	Panel Himax HX8347-A
reg(0x00A1) 00 00 00 00 00	RD_DDB SSD1963
reg(0x00B0) B0 B0	RGB Interface Signal Control
reg(0x00B4) B4 B4	Inversion Control
reg(0x00B6) B6 B6 B6 B6 B6	Display Control
reg(0x00B7) B7 B7	Entry Mode Set
reg(0x00BF) BF BF BF BF BF BF	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(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

also video comparation with ribbon alligned the same way:

Ah, you are talking about your GitHub ok, I will check this lcds with your code after latest commit and let you know, thank you !

wow, you are great ! 0xD3D3 now has changed to 0x8357 and works as it is supposed to !

0x1520 has changed to 0x1581 and background is still white not black and letters are mirrored.

lefti696:
0x1520 has changed to 0x1581 and background is still white not black and letters are mirrored.

In which case, my last commit was unnecessary. There was no need to invert the colours (REV_SCREEN attribute) or to swap the horiz direction (INVERT_SS)

Force begin(0x9481) instead of begin(0x1581).

David.

Earlier I was using your library from forum thread, now I found your GitHub and now I'm using latest version. That is why those id's changed.
I tried to force begin 0x9481 instead of 0x1581, now background is black but some colors still remain inverted as well as text is flipped.
In few hours I'm flying on a vacation, when I will be back I will play with this lcd little more and let you know . Again, thanks for your help !

Hello again I'm back :slight_smile:

I made a video of 0xD3D3 (down) vs 0x1581 forced to 0x9481 (up)
in 0:02s (when text appears) you can see direction of swap and change in red color (to blue).

I updated the library this morning.

It should detect R61581 automatically with readID() (0x1581)
It should run all the sketches fine.

If you have a problem, please post video or describe accurately in text.

David.

You are right, it works like a charm after the update. Thank you very much for your perfect support !
I also played a bit with Touch_shield_kbv where cursor moves opposite direction than touching but I think fix for it simple and I can do it when needed.

Anyway, thank you again !