LCD display with ILI9341 driver on Arduino

Perhaps the OP is having the same issue I had to where my converter was leaking. Instead of dropping the output voltage to 3.3v, like it is supposed to do, it was outputting somewhere around 4V. (Which the display does not like).

After much frustration I finally got mine to work using 4k7 and 2k2 resistors. (2k2 to display, 4k7 to ground)

This worked for me.. see
http://forum.arduino.cc/index.php?topic=356435.msg2456881#msg2456881

@nid69ita

Many thanks for this code, my display works after 10 hours!!

#include <stdint.h>
#include "TFTv2.h"
#include "SPI.h"

void setup()
{
TFT_BL_ON; // turn on the background light
Tft.TFTinit(); // init TFT library
}

void loop()
{
for(int r=0;r<115;r=r+2) //set r : 0--115
{
Tft.drawCircle(119,160,r,random(0xFFFF)); //draw circle, center:(119, 160), color: random
}
delay(10);
}

You guys may want to have a look at my webpage on ILI9341 RasMicro.com is for sale | HugeDomains

OldMicroGuy

Great page!

Hello ALL

I have bought 2.2 TFT SPI screen from ebay (cheap version 240*320). I use library

All screen is white when I connect it to pins. Is that problem of Voltage? if yes, what kind of resistors should I use and how? is there any website displaying that? I'm very beginner at it. I don't have any idea what is the problem.

Can it be a problem of pinout?

See Step 1 here for the QVGA display.

rowboteer:
See Step 1 here for the QVGA display.

thank you @rowboteer, I bought resistors and HEF4050BP level logic converter. will see the results

Hi all,

Im not too sure if I should be joining in here or starting a new thread. So let me know if I should move :slight_smile:

Im trying to get this TFT screen to work with the adafruit library.

I have installed the librarys (GFX and IPI9341)

At this stage I am just trying to get it to work with the graphictest example. I have not touched the example code at all (other than to redefine pins).

Im guessing I am on the right track as I am getting the following:

ILI9341 Test!
Display Power Mode: 0x9C
MADCTL Mode: 0x48
Pixel Format: 0x5
Image Format: 0x9C
Self Diagnostic: 0xC0

Unfortunately the screen is blank white. Have been searching/messing with it for two days now and im out of ideas!

Any help much appreciated :slight_smile:

Your display should work fine IF you use 3.3V logic levels. Use resistors or level shifter chip with a 5V Arduino.

Many people use this board. Even more use the 2.2" version. The ILI9341_due library will blow your socks with its speed. The Adafruit_ILI9341 library works too.

I note that your board has header pins for a Touch controller but the chip is not mounted on the pcb. The 2.4" screen does not render as vivid a picture as the 2,2" version.

David.

Thanks david!

I have tryed both 5v logic and 3.3 (using capacitors), I get the same result either way. I will check my work with the resistor though.

So the fact that it states 5v works is BS? Should have guessed haha.

Awesome perhaps I will switch over to due now, and save extra time later. Just start there from scratch.
No I ordered late at night, the lack of sleep prevented me from noticing the total lack of any touch panel/chip etc.

I dont really need the touch for this project anyway. So im not too worried. Basicaly its just to be used as a GUI so im not to worried about anything else :slight_smile:

There may be a language problem.

If you do not know the difference between a capacitor and a resistor, you should not undertake this project.

There are plenty of ready-made shields that will plug in directly with the required level shifting.

If you are a native English speaker, you probably understand what the abbreviation BS stands for. It is not a word that I would have used.

David.

Sorry if I have offended you, no offence was intended.

I was referring to the sellers listing that states that this product is suitable and working on 5v logic. Where I am from using those words would be considered far from horrible. Let alone the abbreviation. But thanks for calling me out and now I know to be cleaner on this forum.

You are also correct about my TYPO, I am new and learning. But never fear I do actually know the difference between a resistor and a capacitor.

You take me too seriously. I am not offended.

I just would have chosen a different disparaging word.

Just sort out the 3.3V logic and everything should work fine.

David.

Hi, I'm beginner here and I need helping from you. I looked for decision here but unsuccessfully.
I've bought 3.2" TFT LCD Display with ILI 9341 Control IC + TFT LCD Mega shield v2.2.
It's designed with a touch controller in it. The touch IC is XPT2046.
This all right, next.
I use latest Arduino Software (IDE) for Windows and latest UTFT library.
I wrote constructor UTFT myGLCD(CTE32HR, 38, 39, 40, 41);- is it ok?
extern uint8_t BigFont[];
Graphic drawing seems right but letters seems "head down"
What library shall I use? What is correct constructor?


Hello vsem.Imeyu TFT 2.4 ekran.Pereproboval many libraries , but nothing helped him work zapustit. library SPFD5408-master. LCD_ID_Reader writes that the chip ID 0 * 0000.Eksperimentalno found that the chip 9341 , when put uint16_t identifier = 0x9341; screen works , but shows two images ( double ) .help me.. Sorry me for my english (Google)

IMG_20160501_082948_500x375.jpg

IMG_20160501_083022_500x375.jpg

IMG_20160501_083042_500x375.jpg

Hi Guys,

Please give me a hint what have i missed, getting a white screen everytime. Test shows

ILI9341 Test!
Display Power Mode: 0x0
MADCTL Mode: 0x0
Pixel Format: 0x0
Image Format: 0x0
Self Diagnostic: 0x0

HCF4050 (tried 2 chips with UNO and NANO) doesn't work for me and the 4k7-10k voltage divider also doesn't. Tried almost all the libraries possible...

Could TFT be damaged by 5V, when i connected it to arduino pins in the beggining ?

david_prentice:
Your display should work fine IF you use 3.3V logic levels. Use resistors or level shifter chip with a 5V Arduino.

How close to 3.3V do you need to get? I'm using 470R and 1K, and it works, but that would give me 3.4V.

For the final version, I was thinking of going with 1K2 and 1K8 (from the instructible), but that would give me 3V.

Which should I go with?

The ILI9341_due library will blow your socks with its speed.

Can this be used with an Arduino Uno?

I note that your board has header pins for a Touch controller but the chip is not mounted on the pcb.

Mine is a bit different. The on board chip is XPT2046. It doesn't seem to work. Is it voltage levelling issues again? Do I need to level up now?

Thanks in advance for your help.

Any logic voltage in the range 3.0V to 3.6V will be fine. I now use 1K2 and 2K2 as I have lots of those values available.

You only need a logic level shift on outputs from the 5V Arduino to the 3.3V target logic function. For the XPT2046 this will be DIN, CLK and CS.

Outputs from the 3.3V logic function (XPT2046 DO and IRQ) can be connected directly to the 5V Arduino pin inputs though I tend to put a 1K series resistor in the path so if the Arduino pin gets accidentally switched to output in a sketch it will not damage the 3.3V function.

Thanks for the info. It helps a lot!

Can the touch (XPT2046) be operated using SPI? (ie CLK-CLK, DIN-MOSI, DO-MISO, CS-SS). I am trying to use the new URTouch library.