ILI9488L white screen

Hi,

I have just bought this display from Ali-express

I have edited the LCD_ID_Reading.ino with:

//-- Arduino Mega 2560 Shield
#define LCD_RST 41
#define LCD_CS 40
#define LCD_RS 38
#define LCD_WR 39
#define LCD_RD 43

#define LCD_D0 22
#define LCD_D1 23
#define LCD_D2 24
#define LCD_D3 25
#define LCD_D4 26
#define LCD_D5 27
#define LCD_D6 28
#define LCD_D7 29

which I found on a previous post where the OP had the same screen
the output I get 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) 04 04 04 04 Manufacturer ID
reg(0x0009) 09 09 09 09 09 Status Register
reg(0x000A) 0A 0A Get Power Mode
reg(0x000C) 0C 0C 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) 70 70 Panel Himax HX8347-A
reg(0x00A1) A1 A1 A1 A1 A1 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(0x00D4) D4 D4 D4 D4 Novatek ID
reg(0x00DA) DA DA RDID1
reg(0x00DB) DB DB RDID2
reg(0x00DC) DC DC 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

at the moment I get a white screen, what else do I need to do to get this screen to work?

TIA

  1. Compare your pcb with the pinout printed on the photos in your link.

  2. plug the shield into the Mega2560. Every male pin should mate with a female socket.

  3. Edit LCD_ID_readreg.ino. Your defines look correct to me.

  4. Run the readreg sketch. You should see an ID in reg(0xD3)

If (4) fails, please tell me.

I have already posted a SPECIAL. There is no point in trying it until (4) succeeds.

David.

Hi David,

thanks for the reply, here is the output from the reg 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) 00 00	ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 04 04 04 04	Manufacturer ID
reg(0x0009) 09 09 09 09 09	Status Register
reg(0x000A) 0A 0A	Get Power Mode
reg(0x000C) 0C 0C	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) 70 70	Panel Himax HX8347-A
reg(0x00A1) A1 A1 A1 A1 A1	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(0x00D4) D4 D4 D4 D4	Novatek ID
reg(0x00DA) DA DA	RDID1
reg(0x00DB) DB DB	RDID2
reg(0x00DC) DC DC	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

I have attached an image of the display. the chips are as follows:

U3 NXP LVC245A RK23217 TXD716F
U4 NXP LVC245A RK23217 TXD716F
U5 NXP LVC245A RK23217 TXD716F
U6 HR2046 1703

R1 2R0
R2 103
R3 103

Your photo matches the pcb from your link.
Have you tried plugging it into the Mega2560 yet?

The soldering looks ok. The board looks normal.

Do you have a link to the earlier thread about this display?

David.

yes, I’ve plugged it, just a white screen at the moment. Here’s the link

Find the link to the earlier thread.

Follow instructions for the SPECIAL
Force the sketches to use ID = 0x9486

Your readreg shows that the LCD_RD pin is not working.
I doubt if write-only will work. You can try.

If it does not work, ask for your money back.

David.

Well that seems to work, thanks. Why would the LCD_RD pin not be working ? is this a fault or is it by design? BTW any idea what the touch screen pins might be? I have tried the pins that the calibrate sketch recommends but I'm not getting a response.

What ID does graphictest_kbv say on the Serial Terminal?
What ID does graphictest_kbv say on the Adafruit Tests Report page?
Does Software Scroll work?

The Touch pins are 50-53. i.e. the regular SPI pins.

You need to use a proper library like XPT2046_Touchscreen

Please find a link to the earlier thread. There is probably information there.

I do NOT have this display. I can only rely on owners like yourself.
It is very frustrating when people do not answer my questions. How can I help if I do not get proper feedback?

It only takes 2 minutes of your life to answer a question.
It may annoy you that I ask whether you have plugged a shield in.
It takes 2 seconds to type Yes or No.
You would not believe how many people do not plug a shield in. They are determined to use trailing wires (or even fresh air).

If I can get proper feedback it means that new owners never have to ask. Because I have already produced a solution.

David.

Thank you David,

I did tell you that I had run your utility and I quote "I have tried the pins that the calibrate sketch recommends but I'm not getting a response."

Also I have answered every question that you have asked. It doesn't annoy me that you have asked "have I plugged it in" I am a PC tech, I deal with the general public that are "computer illiterate" I know that you have to ask. Again I did answer your question "yes, I've plugged it in, just a white screen at the moment"
What questions did I not answer? Perhaps you have mistaken my post with someone else's or perhaps read my post too quickly?

I have also told you that the screen is now working but I have run the the test and
the mcufriend_KBK graphics test reports ID = 0xD3D3

I have just installed the XPT2046_Touchscreen library but have not tried it yet.

Thanks for the 0xD3D3. That comfirms that LCD_RD on digital#43 (PL6) is not working.

Only you can compare pcb traces and soldering. Other owners work with D43 ok.
Look at the earlier thread. You know which pin and trace to follow.

David.

Ok, so everything more or less works thanks, even though LCD_RD is not working, the track to this pin is on the LCD side of the board, the LCD is stuck down quite firmly and I think somethings going to break if I try to remove it to check the continuity. I'll try to re-solder the pin. However the colour quality isn't great on this display, white for instance has almost a mint green tinge to it. Maybe I'm expecting to much from these displays, the uno shield I had, although the refresh is annoyingly slow, has a much better colour definition. If all these displays are like this I wouldn't recommend then to anyone else!

You can manipulate the colour response on an ILI9488. The ILI9486 has many features too.

But quite honestly, you are probably better off with using different Gamma values.

TFT Panels are made by 4 or 5 manufacturers. And obviously they have produced different models too. When they are sold with different makes of TFT controller chip, it gives even more permutations.

I have no idea which make of panel is on your board. Or even whether you have ILI9486 or ILI9488. Or possibly another make of controller.

I suspect that there are several readers that have bought this display by now.
If I don't get feedback, I can't help any of you.

Personally, I don't like Mega2560. But if you have a mega2560 these shields should work faster and better than the Uno shields. (Uno shields are appallingly SLOW on a Mega2560 ... unusable in my opinion)

David.

Hi David,

Well, yes I know NOW that the uno shields are a tad slow on the mega2560, information that would have been useful before I purchased but I assumed that if it said Uno/Mega it would work equally well on either, I should know better, not your fault I know. Unusable? I think that depends on the application, certainly they don’t look very professional and for my purpose not acceptable.

I now appreciate that there many different shields out there and that even if they look the same may be using different controllers/displays so it’s a bit of a minefield even more so for the uninitiated. It certainly seem that there is a lot more choice with uno shields

Just curious but what is it about the Meag2560 that you dislike? I made a choice based on projected usage ie. I need 4 interrupts to monitor motor speeds/direction and probably 2 outputs to drive two servos, this coupled with a large programme lead me to believe that the Mega was the better choice.

SO, I’m back at square one I still don’t have a screen which meets my reqirements. Is it possible to make an adaptor that “rewires” the Uno shields so that they can be used on the mega? Think I read a post somewhere that said it could be done…

The advert says ILI9486. If LCD_RD does not work, I would not be too certain what controller is mounted.

You can try different Gamma settings. Just edit this line in MCUFRIEND_kbv.cpp to try different ones.

#define GAMMA9486 4

If there is another owner out there, we could compare notes.
Or I could post a diagnostic that might confirm whether you really have an ILI9486.

David.

well it might be beneficial to other potential buyers to know that these boards might have different controllers, this board looks identical to the one purchased by pilotguy.

Thanks for the hint. I searched for "pilotguy". This enabled me to find the earlier thread
shuttingdown seems to have the same experience as you.

In practice people come to the Forum, ask a question, it is solved, they get on with the rest of their life.

I am sure that there are several other owners of this particular display.
We just have to wait for them to reply.

Did you try different Gamma settings?
I just selected the one that looked best on "my" display.

I do not have your display. I do own a Mega2560.
I don't like Mega2560. The shield will not fit a Nucleo, FRDM, ESP32, ...
All the same, pilotGuy's shield appears to be 100% good design. Most mega2560 shields are stupid e.g. bit-banged XPT2046 or inappropriate 74HC245

David.

Edit. Just looked at your AliExpress link. Both your Dutch version and my English version.
You can select a 3.8 inch ILI9486 or a 3.95 inch ILI9488. Which board do you have?
They seem to have the same pcb. Obviously the TFT panels will have different physical characteristics.
Re-reading PilotGuy's posts shows that he just disappeared. He never posted the readreg report. So I don't know 0x9486 / 0x9488. Punters notice mirroring but they do not notice "readPixel() Error"

Just noticed that in this post (Help Identifying pin labels on LCD Screen - Displays - Arduino Forum) there is someone else that has purchased the same display where LCD_ID_Reading.ino reports LCD_RD not working.

it appears that I have purchased the 3.95 which the seller says is a ILI9488.

I have tried changing the Gamma setting but it made it a lot worse, so I've put it back to GAMMA9486 4.

I have, carefully :o, removed the display from the board so I can now access the pcb tracks, and later I'll check the continuity, I don't suppose it's possible to actually locate the driver chip? doesn't seem to be a lot of places it could be but tbh I wouldn't know where to look.

No, you can not see the controller. You can only see the ribbon connections.

I would expect every panel ribbon to have a RD signal.
It looks like a universal pcb i.e. it will receive a 3.8 or a 3.95 panel.
There might be two ribbon footprints e.g. for each panel.

I would expect digital#43 to be routed to the 74VLC245 level shifting buffers.

I might buy the ILI9486 version to see for myself. 3.8 inch is a nicer size than 3.95.

David.

Hi,
I have a bit more info. On the back of the TFT panel it is labelled 9486L, I suspect this is possibly more accurate that the sellers description! Also I can confirm that the LCD_RD pin is connected to the LVC245A, just need to follow it through to the ribbon connector and I suppose that’s as far as I can go

Yes I think that the 3.8 might look a bit better as the 3.95 does appear quite pixelated despite being 480x320.