Cannot get TFT Touchscreen/SD shield to work

So i recently bought one of these TFT touchscreen and Mega 2560 bundles, (from here https://www.amazon.com/KOOKYE-Mega2560-Arduino-Printers-Robotics/dp/B019SXN4HU/ref=sr_1_7?ie=UTF8&qid=1480901952&sr=8-7&keywords=arduino+touchscreen). When i got it, I downloaded the UTFT and URtouch libraries but when i try to run any example, all i get is a solid white screen. I've looked all over and cannot find a working solution the only other thing that i could get it to do was slightly flicker the white screen, but thats it. How can i get this to work?

Your link mentions ILI9325 and ILI9341 controllers. They are VERY different. The photo shows TFT_320QVT display which would have an SSD1289 controller which is even MORE different.

  1. Make sure that you have UTFT v2.8.2

  2. Read any printed legends on the display pcb.

  3. Try UTFT constructors with: SSD1289, ILI9325, ILI9341_16

  4. Report back with the results. This will help any other Amazon victims.

I do not own any of those displays, but other readers certainly do.

David.

I made sure that i had UTFT 2.8.2 (and i do) and i tried using the constructors you mentioned and SSD1289 , ILI9341_16 both uploaded the sketch to the board fine, but gave me some warnings in the log,

"/var/folders/bt/q_lg84d11ts6gk1bbdq3pyqm0000gp/T/arduino_modified_sketch_157283/UTFT_Demo_320x240.ino: In function 'void loop()':
/var/folders/bt/q_lg84d11ts6gk1bbdq3pyqm0000gp/T/arduino_modified_sketch_157283/UTFT_Demo_320x240.ino:59:68: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 myGLCD.print("* Universal Color TFT Display Library *", CENTER, 1);

and the ILI9325 said "exit status 1
'ILI9325' was not declared in this scope". Still, the screen stayed a solid white.

Also, i should mention that i am trying all of this using the 320x240 demo included as an example in the UTFT library.

I asked you to read the printed legends on your display pcb.

There is little point in copy-pasting the official library example. You just need to paste your constructor. e.g.

// Remember to change the model parameter to suit your display module!
UTFT myGLCD(ILI9325D_16, 38, 39, 40, 41); // ILI9325D (16bit)
UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);  // ILI9341 (16bit)
UTFT myGLCD(SSD1289, 38, 39, 40, 41);    // SSD1289 (16bit)

Ok, you might like to use magic values like ITDB32S but it is gobbledygook to me. If your display has got ITDB32S printed on it, or you quote an Itead invoice then you can be sure you are using the correct model.

If you have bought from Sainsmart or other "feature-rich" vendor, we can only help if you provide information.

Likewise, pasting a long Warning list is fairly pointless. You could just paste one Warning and say : I have got 25 more like this.

David.

Sorry abou posting the long list of errors. By legends, i assume that you mean something indicating a model number. Mine says TFT_320QVT_9341.

Hi, I'm having this problem with this same product. The magic for me was the model "ILI9341_16" in the myGLCD() statement. - Thank you David!!!!!!

However, now I am struggling with no input from the touch screen. I'm using "URTouch myTouch( 6, 5, 4, 3, 2);" I've tried all the other suggestions in the example code to no avail.

Any suggestions?

I still cannot get my screen to show anything other than a solid white picture. How did you get yours to work? What code did you use with the ILI9341_16 myGLCD() statement?

silicongraphics:
Sorry abou posting the long list of errors. By legends, i assume that you mean something indicating a model number. Mine says TFT_320QVT_9341.

You buy a proper 40-pin Adapter shield e.g. from Ebay

Download and install UTFT v2.8.2
Use the correct constructor e.g.

UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);  // ILI9341 (16bit)

Everything should work fine.

David.

Has anyone figured out how to get this lcd running yet? if so could you post a sample code?

david_prentice:
You buy a proper 40-pin Adapter shield e.g. from Ebay

Download and install UTFT v2.8.2
Use the correct constructor e.g.

UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);  // ILI9341 (16bit)

Everything should work fine.

David.

Correct me if I'm wrong but your saying that the lcd purchased by the O.P and the adaptor shield don't work together?

No, I asked in #1 and #4 for the OP to read what is printed on the pcb.

If you don't know how to read, post a photo of the pcb.
Or post a link to an accurate photo e.g. the sale item.

The Adapter requires maths skill. i.e. does it have enough pins and sockets to receive the display and Arduino board? If unsure, post a link.

Provide the correct information and you probably get a reply with solution within an hour or two. Wherever you live in the world.

Clickable links are better for a Tablet but a pasted URL is fine for a PC.

David.

Hello David,

Here is a link to the kit I purchased:

http://kookye.com/2016/01/30/use-arduino-mega2560-to-drive-ili9341-3-2-touch-screen/

As for the lcd the model number on the one I received is TFT320QVT_9341. I've tried using all of the suggested myglcd examples and suggestions but to no avail, one of them I was able to upload the code without any error messages but the only thing that happened on lcd was the screen had black lines through it.

Thanks!

Thanks for the link.

You have an ILI9341. Install the current UTFT v2.8.2

The constructor should be

UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);  // ILI9341 (16bit)

The link describes an appalling kludge for pre v2.8.2 UTFT. Please ignore it.
v2.8.2 now supports ILI9341 (16bit)
The link shows an ElecFreaks Adaptor. It should be fine. The Mega2560 clone will be fine.

Many people have the QVT_9341 version. I do not. I am sure that it should work fine.
Please identify R1-R5 resistors on your pcb. Compare with the photo in your link.

David.

Hello David,

The resistors on the LCD are R1-R3(102) R4(103) R5(3R9). From what I can tell they are the same but I'm not 100% sure the image is choppy at best, I attempted to enhance the image provided by "kookye" but to no avail. I uploaded the code with your suggested "UTFT myGLCD(ILI9341_16, 38, 39, 40, 41); // ILI9341 (16bit)" and am presented with multiple errors all saying roughly the same thing.

C:\Users\MAIAOD~1\AppData\Local\Temp\arduino_modified_sketch_578565\UTFT_Demo_320x240.ino:331:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

myGLCD.print("Runtime: (msecs)", CENTER, 210);

by the way next time I decide to order a LCD do you have any recommended screens?

Thanks Again!

The absence or presence of R1-R5 is the important test.

Those are Warnings and not errors. The examples should Build and Upload ok.
Do you get any response on the screen?

I am sure that there are several other owners of the same hardware as you. Perhaps they will reply.

I am sure that the QVT_9341 means that it contains an ILI9341. Chinese shields often have different controllers than they claim.

Personally, I do not like write-only displays. My library reads the controller ID. And KNOWS which commands to use.

David.

Hello David,

The only response on the screen I get is a single flash after uploading the code but other than that the screen stays white, I did check the serial moniter at one point and it showed a long line of 0's if that means anything. I'm probably going to return the items if I'm unable to get them to work properly and purchase a different lcd.

My goal is fairly simple maybe you could point me in the right direction for hardware to use, I'm trying to create a machine that counts linear footage, I had planned on using this lcd to display the sensor data and clear the data with a button on screen im fairly new to arduino any and all help is greatly appreciated.

Thanks again

You are using UTFT. UTFT has no concept of reading the identity or status of the controller.

It relies on you using a specific model of Display from a manufacturer approved by Henning Karlsen.

Yes, it should work with an unbranded display if you know the controller, interface type and pinout. (and you have correct logic levels)

As I said. Your exact combination is owned by many members. You just need to hope that a member replies with his/her experience and advice.

If you want to replace your display, I suggest that you buy a ready made Display Shield. e.g. in Uno or Mega format. The Uno format will fit on a Mega or Due. The Mega format only fits on a Mega or Due. The shields contain level-shifter circuitry.

The Mega shields are a bit of a lottery. Most are write-only. The vendors often give wrong or misleading information.
The Mcufriend Uno shields are write-read. You can read the ID. I support most controllers.

David.