TFT LSD 3.2 " 16bit chip ili9341.

Hello,

I'm looking for some help how to start to work my TFT screen. I've looked post in order to find some clue but in my case it is not working.
Please have a look at my hardware:

Mega touch LCD Shield

3.2 inch TFT LCD

+Arduino MEGA 2560

Real Photo

Basically I've downloaded and installed the UTFT library , I'm trying to lunch demo program like here:

http://codedemonelectronics.com.au/thinktank/wp-content/uploads/2016/02/ArduinoExampleUTFT1.jpg

with different TFT controller and pins assignations like:
UTFT myGLCD(TFT22SHLD,38,39,40,41);

But with out luck. The screen is black not even a blink or white background just no reaction.

I'm thinking what I'm doing wrong ?
I dont know how to check the controller of TFT it should be ILI9341 but why it is not working ?

I'll be grateful for any suggestion.
regard

solid952

Contact your seller on e-Bay. Ask him what display it is supposed to emulate. Look in the Supported Display file that comes with UTFT/URTouch libraries in the documents folder. See if that display is listed and use its definition in your programs.

I do not see in the Supported Display document a display which would have a definition of:

UTFT myGLCD(TFT22SHLD,38,39,40,41);

With the 2X20 pinset on one side my guess is that It will try to emulate the ITEAD ITDB02-3.S and your definition for your display would be:

UTFT myGLCD(ITDB32S,38,39,40,41); //Parameters adjusted to your Display/Shield model

It may also emulate some of the retired ITEAD displays instead.

It may also emulate ElecFreaks TFT01-3.2. Which means your definition would look like this:

UTFT myGLCD(TFT01_32,38,39,40,41); //Parameters adjusted to your Display/Shield model

It may work with a generic SSD1289 chip based board in which the following definition may work:

UTFT myGLCD(SSD1289,38,39,40,41); //Parameters adjusted to your Display/Shield model

It may also emulate other name brand boards or may have its own standard. The only way to tell is to contact the vendor or by trial and error.

Make sure your libraries are in the proper folder. You should have a folder in your documents folder:

Documents>Arduino>Libraries>UTFT
And
Documents>Arduino>Libraries>URTouch

Each folder will contain more folders and files.

Good luck

Hello ,

Lymphomaniac1 thanks for feedback.
I'll ask my seller from ebay for further info. However meantime I've checked UTFT myGLCD which you recommend to use, but no effect. :frowning:

Going deeper into arduino installation files on my computer could you please look at my files ?
I'm working on linux debian and files looks like this: (see attached photo).
Basically in user home dir: ~/sketchbook/libraries in libraries I've moved :
URTouch
UTFT

Is is ok ?

From the other hand can you share with the simplest program which should work on TFT , I'm thinking in this direction ... maybe this this demo project from UTFT is more complex and require some additional configuration which I did wrong and at the end the screen is not working .

What do you think

Thanks for your time and feedback

screen 2016-12-04 15:07:33.png

I am not familiar with Linux, I guess I should learn. Therefore, I shall refrain from giving advice on where your files should go on a Linux system. You may want to contact Henning Karlsen at [u]Rinky-Dink Electronics .

I just wrote the simplest program I could. It is set up for my display, a 4.3 inch generic display. You will have to edit the following line line for your display:

UTFT myGLCD(ITDB43,38,39,40,41); //Parameters should be adjusted to your Display/Shield model

All this program does is is write the string "Solid952, this Program Works".

Good luck!!!!

solid952.ino (1.48 KB)

solid952

I have been rethinking about where your library documents should be. It should be similar to windows. Look at the diagram attached. This is how Arduino requires files and libraries in Windows. Linux should be similar.

From the top down in Windows The is the C:\ drive has several folders in it. One of them is the Users folders of which one is a folder with the user's User Name for a foldername. Under that folder are many folders of which one is the Documents folder. In the Documents folder are many folders of which one is the Arduino folder. In the Arduino folder are several folders named for your projects. Also in this folder is a libraries folder which contains your libraries' documents . Inside your folders which are named after your projects you will see your .ino file and any supplemental files you need to run your program. So lets start from the bottom, find the folder where Arduino saves your most recent program in an .ino document. Lets call this folder solid952 and the document in it solid952.ino. If you go up one level you should be in your Arduino Folder and you should be able to see folders containing all your projects. You should also see the libraries folder. If you do not see a libraries folder make one. Put UTFT and URTouch libraries in this folder.

I hope this helps.

Hello,

I've received info from ebay guy and probably I have an issue.
Based on that he said my LCD works with ILI9341 driver. (and arduino mega will not work)
I have a documentation of this but not very clear for how it should works.
Can I somehow emulate ILI9341 driver on arduino ?

Thanks for comments

TFT_LCD_32_p1.zip (252 KB)

XPT2046 - Touch Screen Controller.pdf (886 KB)

SSD1289 IC.pdf (619 KB)

TFT_320QVT - Schematic.pdf (51.9 KB)

Not all files have been uploaded

TFT_320QVT - Overview.pdf (331 KB)

S95160 - LCD Module.pdf (417 KB)

This e-bay guy is tell you something that come out of the south end of a northbound bull. From the materials it should work with a Mega with an ElecFreaks LCD TFT01 Arduino Mega Shield v2.0 SHD10 using the definition line:

UTFT myGLCD(SSD1289,38,39,40,41); //Parameters adjusted to your Display/Shield model

Since it is using the SSD1289 chip.

Either:

  1. You got a defective or counterfeit display
  2. You have a defective adapter shield
  3. You have a defective Mega Board.

It looks like your Mega board is an actual Arduino, so unless you bought counterfeit one from China this is not your culprit. I did have a generic Mega 2560 which worked every other way but had a bad pin and would not run my display, so these thing do happen.

I noticed that your adapter shield is a ElecFreaks LCD TFT01 Arduino Mega Shield v2.0 SHD10 knockoff. You can go to https://www.elecfreaks.com/estore/ and order the real thing.

If you got a defective or counterfeit display you can go to Elecfreaks http://www.elecfreaks.com/estore/displays/lcds/tft , or ITEAD https://www.itead.cc/display.html and get a display which you know will work with UTFT. Make sure you have a display which has a 2X20 pinset.

Your photo clearly shows the ILI9341 version of the TFT_320QDT display.

Download UTFTv2.8.2 from RinkyDink
Use the appropriate constructor:

UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);

I don't have this display. Nor do I have your White Adapter Shield.
I would be 99.5% certain that everything should work.

Obviously, if the Adapter is made by Sainsmart, you should check the soldering, components, ... and pray.
My confidence level might fall to 50%.

Yes, buying from Adafruit, ColdTears, Itead, Seeed, ... may cost more money. But the quality will be better.

Personally, I prefer a 5V Display Shield rather than a stack of Arduino, Adapter, 3.3V Display.

David.

Dave:

You are right, the display definitely says 9341. The materials "the e-bay guy" sent is for a SSD1289 based display. The two do not match up. All this makes me suspicious in thinking that the "e-bay guy" is full of what comes out the south end of a northbound bull. I personally think that this display came out of a dumpster full of rejects, is defective, or is counterfeit (meaning not really a display at all, just some cheap piece of garbage that is made to look like one). "The e-bay guy" probably sells more lingerie than he sell electronic goods.

The adapter card is definitely a knockoff of an ElecFreaks LCD TFT01 Arduino Mega Shield v2.0 SHD10 and not a SainSmart. Sainsmart has two similar cards The first SainSmart Shield is blue, has a potentiometer on it and says "SainSmart" on it. The second is black has a 2X20 pinset header and a 2X16 pinset header and says "SainSmart" on it.

I am not convinced that the "Arduino Mega 2560 is truely made by Arduino since the back of it does not look like the back of my Arduino made Mega 2560 boards.

Re: TFT LSD 3.2 " 16bit chip ili9341.

If one uses:
UTFT myGLCD(ILI9341_16,38,39,40,41);

Then the TFT works well, and no reduced display; hence no need to change rest.

PS Above TFT is currently on-sale at AliExpress, but with the remark that is contains the SSD1289 controller, which is not correct.

Regards,
Leo

Hi guys,
I have an arduino shield with ILI9341 compatible TFT+touchscreen.
I use this with adafruit tftlcd+gfx libs.
how the hell I can use this library?
I can't get to work a simple demo like...Arduino\sketch\UTFT\examples\Arduino (AVR)\UTFT_Demo_320x240
I put UTFT myGLCD(ILI9341_16,38,39,40,41); but I have no idea what 38-41 means and how to use the library.
ideas?
I repeat,the TFT and the touchscreen works with other lib.
that's the TFT:
https://www.arduino.md/hardware/lcd-and-leds/2-4-tft-shield-ili9340-240x320/
Bad contact is out of question.
best regards,ovidiu

You have a regular Mcufriend Uno shield.

The MCUFRIEND_kbv library will tell you which controller you have.
It is unlikely to be the ILI9340 but anything is possible.

UTFT does not support ILI9340_8 or ILI9341_8.

You can run that particular UTFT example with MCUFRIEND_kbv (which supports both of those controllers as well as about 35 others)

David.

I am having a similar issue with adding support for the ST7796S driver chip on the UTFT libraries.

I am trying to control it using the SDA, CS, and SCL lines with a teensy 3.6.

My arduino code is below, and it seems like it doesn't recognize ST7796 from the library:

#include <UTFT.h>

UTFT myGLCD(ST7796, 12, 13, 15, 36); 00// Rememb1er to change the model parameter to suit your display module!

extern unsigned short tux[0x1000];
int ledPin = 9;
void setup()
{
  pinMode(13, OUTPUT);//For RD
  digitalWrite(13, HIGH);
  analogWrite(ledPin, 200);//For LED
  myGLCD.InitLCD();
}

void loop()
{
  // Draw a 64x64 icon in double size.
  myGLCD.drawBitmap (0, 0, 64, 64, tux, 2);
  delay(200);
}

I have added the attached initlcd.h file and copied setxy from the ST7735 folder.

I have also added definitions in both .cpp and .h, as seen below

.cpp:

(around line 94)

dsx[] ={..., 319};
dsy[] = {..., 479};
dtm[] = {..., 16};

.h:
(around line 83)
#define ST7796 32

(around line 145)
#define ST7796 32

Mischel:
Hi,
i have found this thread and - thanks for your solution!
Now i tried to run the touch-function.

Does anybody know a library that runs?

Post a link to the actual item that you have bought. e.g. Ebay page for your screen.

This applies to most questions about displays. We can identify most of them from photos of the pcb in the shop sale description.
If you can't find the exact sale item, find a similar item on Ebay. Describe any "differences" in the Ebay photos.

This means that you get an accurate reply within a few hours. Often a solution comes in the first reply.

David.