Go Down

Topic: MCUFriend 2.4 inch lcd display showing white (Read 5266 times) previous topic - next topic

david_prentice

Current library is v2.9.7

You must enable SUPPORT_1580 for a Renesas R61580 controller.   i.e. ID=0x1580

David.

camilo_cordoba

Okay
The suggestion has helped me a lot.
Thank you

hapra

#17
Mar 07, 2018, 08:42 pm Last Edit: Mar 07, 2018, 08:53 pm by hapra
Hi David,

My lcd touch display with red color pcb is similar with tunstsk's display.
I test graphictest.ino from Adafruit_GFX library with tft.begin(0x9341), it works but backlight noisy with some vertical lines, cannot full black color.
Try with other drivers cannot work at all.

Then I test LCD_ID_readreg.ino from MCUFRIEND 2.9.7 library, and output are:

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 38 80 00 Manufacturer ID
reg(0x0009) 00 00 61 00 00 Status Register
reg(0x000A) 08 08 Get Power Mode
reg(0x000C) 06 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 A6 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 02 Inversion Control
reg(0x00B6) 00 24 02 00 00 Display Control
reg(0x00B7) 00 00 Entry Mode Set
reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B
reg(0x00C0) 0A 0A 0A 0A 0A 0A 0A 0A 0A Panel Control
reg(0x00C8) 40 40 40 40 40 40 40 40 40 40 40 40 40 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 01 16 02 ILI9341, ILI9488
reg(0x00D4) 00 00 00 00 Novatek ID
reg(0x00DA) 38 38 RDID1
reg(0x00DB) 80 80 RDID2
reg(0x00DC) 00 00 RDID3
reg(0x00E0) 00 22 23 25 08 10 14 40 7B 50 0B 1B 22 20 2F 37 GAMMA-P
reg(0x00E1) 00 0C 14 23 0E 14 15 36 59 46 0B 1F 27 1F 20 22 GAMMA-N
reg(0x00EF) 00 00 00 00 00 00 ILI9327
reg(0x00F2) 00 24 04 04 1E 00 00 00 00 00 00 00 Adjust Control 2
reg(0x00F6) 00 00 00 00 Interface Control

Whereas output from graphictest_kbv are:
Serial took 0ms to start
ID = 0x1602

Could you suggest what proper driver should be used ?

david_prentice

#18
Mar 07, 2018, 09:09 pm Last Edit: Mar 07, 2018, 09:17 pm by david_prentice
tuntsk had a HX8367-A controller.
You have a "0x1602" display.   I have never seen this display.   I do not know the Manufacturer.
I do not have a datasheet.

Have you asked the Vendor for help?    Have you asked for a refund or replacement?

Yes,  your photos look exactly the same.   The Power and VCOM settings need tweaking.

What country are you in?

David.

hapra

Hi David,

I am from Indonesia.
I bought it long time ago from local store so I forget which store, just today I tested it after I found this thread.
If this cannot be solved, maybe I need to buy new one.
These attachments are for the detail pictures.

OzHawk

Hi David,

I was having the same issues as the person who opened this thread, so I followed the instructions that you have given to tunstsk and it worked mostly.

I no longer have a white screen...I can see the test, but the screen is mirrored.  Also, I had to remove some tests from the code as it didn't fit into my Uno.

Here is the results of my registers.

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) 47 47   ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 00 00 00   Manufacturer ID
reg(0x0009) 3F 3F 3F 3F 3F   Status Register
reg(0x000A) 00 00   Get Power Mode
reg(0x000C) 01 01   Get Pixel Format
reg(0x0061) 00 00   RDID1 HX8347-G
reg(0x0062) 80 80   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(0x00D4) 00 00 00 00   Novatek ID
reg(0x00DA) 00 00   RDID1
reg(0x00DB) 00 00   RDID2
reg(0x00DC) 00 00   RDID3
reg(0x00E0) 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03   GAMMA-P
reg(0x00E1) 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49   GAMMA-N
reg(0x00EF) 49 49 49 49 49 49   ILI9327
reg(0x00F2) 10 10 10 10 10 10 10 10 10 10 10 10   Adjust Control 2
reg(0x00F6) 00 00 00 00   Interface Control


Do you have any ideas?

Thanks.

david_prentice

#21
Mar 22, 2018, 09:50 am Last Edit: Mar 22, 2018, 09:51 am by david_prentice
First off.   Make sure that you have a recent Arduino IDE.   The current version is 1.8.5.  I am using v1.8.1.
Update your MCUFRIEND_kbv library with the IDE Library Manager.  Current Release is v2.9.7

You appear to have an HX8347-D controller.
Edit MCUFRIEND_kbv.cpp to enable SUPPORT_8347D

Then run the graphictest_kbv example.
On my Uno (with a Beta library) I get:
Code: [Select]

Sketch uses 30782 bytes (95%) of program storage space. Maximum is 32256 bytes.
Global variables use 1591 bytes (77%) of dynamic memory, leaving 457 bytes for local variables. Maximum is 2048 bytes.

Older Arduino IDE versions might use more Flash memory.
I would expect your Uno to be able to run ALL of my examples 100% without any edits.

Please take notes about your directions.    In the "penguin" screens,   note which ones have mirrored text.

David.

OzHawk

That's awesome!  Thanks David.

I wouldn't have thought that an out-of-date IDE would have as much affect as it did.

All I did was upgrade my version of the Arduino IDE to the latest, and not only did the low RAM go away, so did the MIRRORING of the display.  The graphics test now works perfectly...as much as I can tell.

Thanks so much for your assistance.

Cheers,
Hawk.

mmtwind

Hi David,
             I have joined the queue of people with a 2.4" TFT that is showing a white screen. It has an orange sticker on the back that says 8340, which I assume is the controller type. I have loaded the MCUFRIEND_kbv library and edited to support the 8347A and 8347D controllers - this did not fix the issue.

 


I ran the LCD_ID_readreg sketch and got the following output in serial monitor:

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) DB DB DB DB DB   Status Register
reg(0x000A) 00 00   Get Power Mode
reg(0x000C) 00 00   Get Pixel Format
reg(0x0061) 06 06   RDID1 HX8347-G
reg(0x0062) 00 00   RDID2 HX8347-G
reg(0x0063) D9 D9   RDID3 HX8347-G
reg(0x0064) 00 00   RDID1 HX8347-A
reg(0x0065) 00 00   RDID2 HX8347-A
reg(0x0066) 49 49   RDID3 HX8347-A
reg(0x0067) 93 93   RDID Himax HX8347-A
reg(0x0070) 28 28   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(0x00D4) 00 00 00 00   Novatek ID
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


Any support you can offer would be greatly appreciated.

Regards,
Mark

david_prentice

#24
Jun 25, 2018, 09:24 pm Last Edit: Jun 25, 2018, 10:06 pm by david_prentice
I love you.   A photo of the pcb and a readReg report.    I did not have to draw any teeth!

Unfortunately,  I don't recognise it.   The HX8340 controller is 176x220 (which I do not support).   And it would give different values from readReg and probably be a 2.0 inch or 2.2 inch panel.

Please ask your Vendor for the controller part number.    
She has sold you an item that does not work.   You should ask for your money back.

It would take her 5 minutes to email or phone her supplier.
If she can provide the part number,  I will support it.   She will have happy customers.    She will not need to refund anyone.

You will get a refund from Ebay.   I am doubtful about AliExpress.

David.

Edit.   I have found datasheets for both HX8340-A and HX8340-B.    Neither looks ok.   The HX8340-A is "similar" to the ILI9225, RM68130, ...

drowland

hi , i have a mcufriend 2.4 shield and get a deviceid of 0x1 and a blank white screen.
here is the lcd status output.

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 01       ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 01 00 01 Manufacturer ID
reg(0x0009) 00 01 00 01 00      Status Register
reg(0x000A) 00 00       Get Power Mode
reg(0x000C) 00 00       Get Pixel Format
reg(0x0061) 00 00       RDID1 HX8347-G
reg(0x0062) F8 00       RDID2 HX8347-G
reg(0x0063) F8 00       RDID3 HX8347-G
reg(0x0064) F8 00       RDID1 HX8347-A
reg(0x0065) F8 00       RDID2 HX8347-A
reg(0x0066) F8 00       RDID3 HX8347-A
reg(0x0067) F8 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 01       RGB Interface Signal Control
reg(0x00B4) 00 01       Inversion Control
reg(0x00B6) 00 01 00 01 00      Display Control
reg(0x00B7) 00 00       Entry Mode Set
reg(0x00BF) 00 00 00 00 00 00   ILI9481, HX8357-B
reg(0x00C0) F8 00 F8 00 F8 00 F8 00 F8  Panel Control
reg(0x00C8) 00 01 00 01 00 01 00 01 00 01 00 01 00      GAMMA
reg(0x00CC) F8 00       Panel Control
reg(0x00D0) F8 00 F8    Power Control
reg(0x00D2) 00 01 00 01 00      NVM Read
reg(0x00D3) F8 00 F8 00 ILI9341, ILI9488
reg(0x00D4) F8 00 F8 00 Novatek ID
reg(0x00DA) F8 00       RDID1
reg(0x00DB) F8 00       RDID2
reg(0x00DC) F8 00       RDID3
reg(0x00E0) F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 00     GAMMA-P
reg(0x00E1) F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 F8 00     GAMMA-N
reg(0x00EF) F0 00 F0 00 F0 00   ILI9327
reg(0x00F2) F8 00 F8 00 F8 00 F8 00 F8 00 F8 00 Adjust Control 2
reg(0x00F6) F8 00 F8 00 Interface Control

david_prentice

Please follow this thread conversation with mdm63

If you don't understand something,  just ask.

If you are in Europe we can probably get this sorted this evening.
Please say if you have a GitHub account or prefer editing the library MCUFRIEND_kbv.cpp

David.

makis20vt

Hi,

I bought a display from Newhaven (NHD-2.4-240320CF-CSXN#-FT) with ST7789S controller.
I use MCUFRIEND_kbv library with arduino uno or mega and I just get a white screen with some vertical lines like the images I have attached. When i upload a new code or press the reset button for a second that board freezes the display properly showing text etc.

Could you suggest what proper driver should be used ?

david_prentice

#28
Aug 10, 2018, 11:08 am Last Edit: Aug 10, 2018, 11:10 am by david_prentice
From Newhaven:

Quote
• 2.8V LCD
• 8-bit/16-bit Parallel Interface
You must use the 8-bit interface and 2.8V level shifters with your 5V Uno.    It should be tolerant of 3.3V GPIO but it will die very quickly with 5V GPIO.


Always post photos of your actual wiring when you are not using a conventional Shield.
And run graphictest_kbv example.     It gives the most information.

David.

makis20vt


Hi David,

Thank you for your quick reply! I use 8-bit interface, i think everything is wired up correctly, please have a look at the picture attached. I also upload the graphictest_kbv example with the same result, so I suppose that the problem is the volts level, i will buy a logic level converter or a 3.3 board and I will try again.

Thank you!

Go Up