Help, TFT Display 3.5" for arduino mega (mcufriend)

Hi,
I recently got two displays for arduino mega (3.5"), and have tried a lot of libraries but nothing works
i thought they were the same (my bad), they both have their own architecture (pcb)
the first display:
seems to work with some libraries, but displays a white line in the middle, so i discarded to use it.

the second display:
white screen in any library i have tried, rinydink and some customs.
finally i tested LCD_ID_readreg from MCUFRIEND_kbv getting these results:

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) 04 06 ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 04 04 07 37 Manufacturer ID
reg(0x0009) 05 05 04 04 07 Status Register
reg(0x000A) 06 07 Get Power Mode
reg(0x000C) 04 07 Get Pixel Format
reg(0x0061) 65 64 RDID1 HX8347-G
reg(0x0062) 66 64 RDID2 HX8347-G
reg(0x0063) 67 64 RDID3 HX8347-G
reg(0x0064) 64 64 RDID1 HX8347-A
reg(0x0065) 65 67 RDID2 HX8347-A
reg(0x0066) 66 67 RDID3 HX8347-A
reg(0x0067) 67 67 RDID Himax HX8347-A
reg(0x0070) 74 64 Panel Himax HX8347-A
reg(0x00A1) A5 A7 B7 A4 04 RD_DDB SSD1963
reg(0x00B0) B4 B4 RGB Interface Signal Control
reg(0x00B4) B4 B4 Inversion Control
reg(0x00B6) B6 B7 B7 B4 04 Display Control
reg(0x00B7) B7 B4 Entry Mode Set
reg(0x00BF) BF BF BF BF AC 04 ILI9481, HX8357-B
reg(0x00C0) 44 47 77 77 44 44 47 77 77 Panel Control
reg(0x00C8) 44 46 44 44 46 77 77 64 44 44 47 77 74 GAMMA
reg(0x00CC) 44 47 Panel Control
reg(0x00D0) 54 57 77 Power Control
reg(0x00D2) 56 57 54 44 44 NVM Read
reg(0x00D3) 57 54 44 47 ILI9341, ILI9488
reg(0x00D4) 54 57 57 44 Novatek ID
reg(0x00DA) 56 54 RDID1
reg(0x00DB) 57 57 RDID2
reg(0x00DC) 54 54 RDID3
reg(0x00E0) E4 E7 F7 E4 44 44 47 77 74 44 44 47 77 77 44 44 GAMMA-P
reg(0x00E1) E5 E5 44 44 47 77 77 44 44 44 77 77 74 44 44 47 GAMMA-N
reg(0x00EF) EF EC CC FF FF FC ILI9327
reg(0x00F2) F6 F7 F7 C4 44 44 77 77 74 44 44 47 Adjust Control 2
reg(0x00F6) F6 F7 F4 44 Interface Control

i dont even understand this.
if someone can help me about what to do now to get the display working (what library)
and even better, i wish to start learning how displays and arduino work (pins, drivers, chipsets, wiring, etc..)

After reading these displays are clones and almost every clone use a different driver, i attach a picture of my second display for reference.

please, help me.

Note that LCD_ID_readreg is for

Read Registers on MCUFRIEND UNO shield

Your photo shows a Mcufriend mega2560 shield.

The mega2560 shields are not readable. You just have to use guesswork.

  1. there are 7 resistor packs next to the header pins. This implies 16-bit interface.
  2. 3.5 inch implies 320x480 geometry.

I suggest that you plug the shield into your MEGA2560 board and just try all the 320x480 controllers supported by your chosen library. e.g.

UTFT: R61581, ILI9481, ILI9486
TFT_HX8357: HX8357-B, HX8357-C, HX8357-D, ILI9481, ILI9486

MCUFRIEND_kbv: define USE_SPECIAL, USE_MEGA_16BIT_SHIELD as described in the how_to file.
Try all the 320x480 IDs that are in the how_to file e.g. tft.begin(0x9090)

Even though you have 7 resistor-packs, it might be an 8-bit interface. try USE_MEGA_8BIT_SHIELD

Please take notes on paper for each thing that you try. If you get "some" response, describe colours, mirroring etc.

David.

Update: After trying this approach i got white screen with every single setup, except Hx8357-D (0x0099) and USE_MEGA_16BIT_SHIELD where the screen turned darkgrey for a few millis then blinked to white screen.

Then i tried TFT_HX8357 (using #define ILI9486 the others gave nothing) 480x320 demo: got random colors in one side and some random blinks...

with this clue i tried utft ILI9486 (white screen as result :confused: ).

I would expect that most 320x480 displays are MIPI compatible.
I would expect most to start up by themselves.

0x8357 and 0x9090 just use the regular MIPI User commands.
0x0099 only sets minimal MIPI Manufacturer commands.

Obviously, one Manufacturer's commands do completely different things to a different Manucturer's controller. And can be very harmful.

If you have tried all the 320x480 IDs that I support, I would just give up.
Ask the Vendor for a refund. The displays do not work.

I would be happy to cooperate with your Vendor. If she asks her supplier for the model number of the controller mounted on your shield. Even better if she can find a datasheet.

With a datasheet I can probably get your mega2560 shield working.
Without a datasheet or model number, it is just guesswork with write-only shields. I do not want to guess.

Uno shields are write-read. I enjoy the challenge of getting an "unknown" controller to work. I am not always successful.

David.

I finally gave up with this display and switched to other display. the store wont provide any datasheet.

Your support helped me to convice my teammate to dont use this display in our project.

Thanks, David

WizzHann:
Hi,
I recently got two displays for arduino mega (3.5"), and have tried a lot of libraries but nothing works
i thought they were the same (my bad), they both have their own architecture (pcb)
the first display:
seems to work with some libraries, but displays a white line in the middle, so i discarded to use it.

the second display:
white screen in any library i have tried, rinydink and some customs.

I understood this as:
Two different displays bought from the same shop.
display #1 shows picture but with white line in the middle
display #2 does not work at all.

I would ask for a refund for both displays.

It is very important that you tell a shop that an item does not work. And that the shop refunds your money.

I suspect that display #1 is recoverable. Just try all the 320x480 IDs.

Whichever way you look at it, everyone loses.
The shop has to pay your money back.
You have to wait a long time to receive a replacement from another shop.

David.