1

Please help me w/ my 2.4 mcufriend TFT on my Mega2560.

I've followed any instructions I can find, including:

2.4" TFT LCD Shield isn't working on Arduino Mega

I still get a show white screen. I wonder if my TFT is different or is it broken? Mine looks like this:

TFT image

I did run the example code from SWtft. I got this output on serial:

TFT LCD test

LCD driver chip: 6TFT LCD test
LCD driver chip: 6767
Benchmark                Time (microseconds)
Screen fill              1786024
Text                     413024
Lines                    2569212
Horiz/Vert Lines         226196
Rectangles (outline)     176972
Rectangles (filled)      4682244
Circles (filled)         2703104
Circles (outline)        1119540
Triangles (outline)      815028
Triangles (filled)       2867288
Rounded rects (outline)  469268
Rounded rects (filled)   5733992
Done!
  • 1
    What TFT is on the carrier board? What chip does it use? – Majenko Oct 3 '15 at 10:14
  • That is the problem.. the shield came without any document.. i tried to read the chip but it is also unclear. – rudi rahmadi Oct 4 '15 at 11:37
  • You won't read the chip I am on about - the "Chip On Glass" that is embedded in the TFT screen. You need to know what that is so you can get the right driver. The seller should know. If they don't then they're no good. – Majenko Oct 4 '15 at 11:38
  • According to the seller the the driver is HX8347G LCD n they have managed to run it on uno while i git no luck on mega 2560. – rudi rahmadi Oct 4 '15 at 11:46
  • 1
    @rudirahmadi check for differences in pin-compatibility between the UNO and MEGA. Make sure that every pin that needs PWM has PWM. – Paul Nov 17 '15 at 12:59
1

I have one of these TFT LCD shields, but mine is a ILI9335. It has taken me nearly 2 weeks to find a working Library and code for my 9335 driver and I am now setting about creating sketches based around my working Library. Library - TFTLCD using st7783 controller Unfortunately most sellers of these shields (excluding good reputable companies) do not adivise of which Driver is onboard the shield and it becomes difficult to locate a working Library for the driver of the purchased shield.

ALSO, check that the Libraries you have are working for your version of Arduino IDE. Some of my libraries would not compile in v1.0.5 but will in v1.6.3 (and vice versa) If there is no Library specific to your 6767 Driver (and I must say I have not seen one in my searches for the 9335 Driver) then you may have to download as many different Libraries to locate a sketch that works for yours. Once you have a working Library then it is just a matter of modifying it for your purposes.

Good luck in finding a working solution for your shield.

Lance..

  • Thx for your share lance, i wonder if it looks like mine n did you manage to run it on mega2560? – rudi rahmadi Oct 19 '15 at 8:39
  • Hello, I also have the 9335 but I have't been able to make it work. Could you share with me the libraries and examples you are using? Thanks – MondKin Mar 11 '16 at 7:30
0

There are several of these boards on sale (mostly from China).

The following IDs of the different chips are taken from a file named mcufriend_kbv_2_8.txt from an archive named Mcufriend_kbv_2.8.zip which provides a whole library(supposely an UTFT fork) supporting these PCBs. Here in the Arduino.cc forum is one of the download links.

----- HX8347-A 240x320  ID=0x8347 new Untested
ILI9320  240x320  ID=0x9320
ILI9325  240x320  ID=0x9325
ILI9327  240x400  ID=0x9327
ILI9329  240x320  ID=0x9329 
ILI9335  240x320  ID=0x9335 
ILI9341  240x320  ID=0x9341 
ILI9481  320x480  ID=0x9481  
ILI9486  320x480  ID=0x9486
ILI9488  320x480  ID=0x9488
LGDP4535 240x320  ID=0x4535
RM68090  240x320  ID=0x6809
R61505V  240x320  ID=0xB505
R61505W  240x320  ID=0xC505 new Untested
R61509V  240x400  ID=0xB509
----- S6D0139  240x320  ID=0x0139 removed due to lack of tester
S6D0154  240x320  ID=0x0154
SPFD5408 240x320  ID=0x5408
----- SSD1963  800x480  ID=0x1963 new Untested
SSD1289  240x320  ID=0x1289 
ST7781   240x320  ID=0x7783
ST7789V  240x320  ID=0x7789

A white screen is the result of choosing the wrong chip. Choose the right one (by ID) and it will work.

0
  1. You need to modify these #define parameters of TouchScreen() from

    #define YP A3
    #define XM A2
    #define YM 9
    #define XP 8
    

    to

    #define YP A2    
    #define XM A1
    #define YM 6
    #define XP 7
    
  2. Only insert the 4th line if (identifier == 0x6767) identifier = 0x7575; into setup() as below

............

  tft.reset();

  uint16_t identifier = tft.readID();

  if(identifier==0x0101)
      identifier=0x9341;

  if (identifier == 0x6767)
      identifier = 0x7575;

  if(identifier == 0x9325) {

    Serial.println("Found ILI9325 LCD driver");

  } else if(identifier == 0x4535) {

    Serial.println("Found LGDP4535 LCD driver");

  }else if(identifier == 0x9328) {

    Serial.println("Found ILI9328 LCD driver");

  } else if(identifier == 0x7575) {

    Serial.println("Found HX8347G LCD driver");

  } else if(identifier == 0x9341) {

    Serial.println("Found ILI9341 LCD driver");

  } else if(identifier == 0x8357) {

    Serial.println("Found HX8357D LCD driver");

  } else {

    Serial.print("Unknown LCD driver chip: ");

    Serial.println(identifier, HEX);

    Serial.println("If using the Adafruit 2.4\" TFT Arduino shield, the line:");

    Serial.println("  #define USE_ADAFRUIT_SHIELD_PINOUT");

    Serial.println("should appear in the library header (Adafruit_TFT.h).");

    Serial.println("If using the breakout board, it should NOT be #defined!");

    Serial.println("Also if using the breakout, double-check that all wiring");

    Serial.println("matches the tutorial.");

    return;

  }
  1. Try it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.