Unsupported display ID 4001

Just got a new display https://www.ebay.com/itm/2-8-TFT-LCD-Touch-Screen-Expansion-Shield-w-Touch-Pen-for-Arduino-BE/192019148675
but it just displays white backlight, using Adafruit_TFTLCD / GFX

Thought it was be an easy kit but now it's way over my head!

Testing with MCUFRIEND_kbv diagnose_TFT_support I get:

Diagnose whether this controller is supported
There are FAQs in extras/mcufriend_how_to.txt

tft.readID() finds: ID = 0x4001

This ID is not supported
look up ID in extras/mcufriend_how_to.txt
you may need to edit MCUFRIEND_kbv.cpp
to enable support for this ID
e.g. #define SUPPORT_8347D

New controllers appear on Ebay often
If your ID is not supported
run LCD_ID_readreg.ino from examples/
Copy-Paste the output from the Serial Terminal
to a message in Displays topic on Arduino Forum
or to Issues on GitHub


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) 08 08 08 08 08 Status Register
reg(0x000A) 5B 88 Get Power Mode
reg(0x000C) 0C 0C Get Pixel Format
reg(0x0061) 20 20 RDID1 HX8347-G
reg(0x0062) 20 20 RDID2 HX8347-G
reg(0x0063) 20 20 RDID3 HX8347-G
reg(0x0064) 27 24 RDID1 HX8347-A
reg(0x0065) 24 24 RDID2 HX8347-A
reg(0x0066) 24 24 RDID3 HX8347-A
reg(0x0067) 24 24 RDID Himax HX8347-A
reg(0x0070) 20 20 Panel Himax HX8347-A
reg(0x00A1) 20 20 20 20 20 RD_DDB SSD1963
reg(0x00B0) 20 20 RGB Interface Signal Control
reg(0x00B4) 24 24 Inversion Control
reg(0x00B6) 24 24 24 24 24 Display Control
reg(0x00B7) 24 24 Entry Mode Set
reg(0x00BF) 2C 2C 2C 2C 2C 2C ILI9481, HX8357-B
reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control
reg(0x00C8) 08 08 08 08 08 08 08 08 08 08 08 08 08 GAMMA
reg(0x00CC) 0C 0C 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) 04 04 04 04 Novatek ID
reg(0x00DA) 08 08 RDID1
reg(0x00DB) 08 08 RDID2
reg(0x00DC) 0C 0C RDID3
reg(0x00E0) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 GAMMA-P
reg(0x00E1) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 GAMMA-N
reg(0x00EF) 2C 2C 2C 2C 2C 2C ILI9327
reg(0x00F2) 20 20 20 20 20 20 20 20 20 20 20 20 Adjust Control 2
reg(0x00F6) 24 24 24 24 Interface Control

Your link shows an OPEN-SMART board.

You should match the pin defines in LCD_readreg.ino with the pins printed on the pcb.
Then you will get a proper report.

I support most 240x320 controllers. Please post the readreg output.

Since you have special wiring for the OPEN-SMART board you need to:

  1. edit MCUFRIEND_shield.h to #define USE_SPECIAL
  2. edit MCUFRIEND_special.h to #define USE_OPENSMART_SHIELD_PINOUT

The "editing" only involves removing two Slash characters i.e. //

The Ebay link shows a photo with no printed "OPEN-SMART"
Does your pcb have printed "OPEN-SMART" ?

David.

Yes - clearly printed on the back OPEN-SMART

Thank you very much!!

hit(nail.head).

I recognise that Chess screen. Someone asked about it in a recent thread. I seem to remember making the necessary changes to configure Touch and posting the result to this Forum.
Perhaps the sketch is on my Laptop.

What controller do you have?
What library are you using?

David.

Using controller Mega2560 and library MCUFRIEND_kbv.h.

Don’t have the TouchScreen.h library at my fingertips but it was basically the first thing came up in google.

Touch screen is working and I’m playing chess right now.

I was having the same problem with my 2.8" TFT display I bought on E-Bay with Open Smart printed on the back. David_prentice suggestion worked perfectly.

  1. edit MCUFRIEND_shield.h to #define USE_SPECIAL (I used Visual Studio to edit)
  2. edit MCUFRIEND_special.h to #define USE_OPENSMART_SHIELD_PINOUT

The "editing" only involves removing two Slash characters i.e. //

Thank you csiger and David_Pentice