LCD display with ILI9341 driver on Arduino

Dear Friend,
I have this items:
a) New Pro Mini atmega328 5V 16M Replace ATmega128 http://www.bricogeek.com/shop/233-arduino-pro-mini-328-5v-16mhz.html
b) 2.2" Serial SPI TFT LCD Module Display 240*320 Chip ILI9340C+PCB Adapter SD Card http://www.ebay.es/itm/200952295233?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
c) 4-Channel 5V-3.3V Level Converter http://www.ebay.es/itm/Adafruit-4-Channel-5V-3-3V-Level-Converter-for-Raspberry-Pi-GPIO-Arduino-etc-/181225596332?pt=UK_Computing_Other_Computing_Networking&hash=item2a31e325ac&_uhb=1

I had bad experience with previous nokia 5110 LCD interfacing 3.3v and 5V. I'm wondering if I'm going to have any problem with 3.3v transceiver, and also was thinking to use 74HC541. To do the test I need if you can give me some links to a hello world software and library for this LCD, since I didn't find much on the web. Do you think it's going to work with arduino mini in software SPI emulation? Thanks!

For me your TFT is identical to mine. And I think french vendor write a wrong indication about controller.
As I writed in posts before, I used this:

For Nokia I have and I used with Adafruits libraries:

I'm also trying to get this 2.2 TFT to work, with little sucess.

Can someone who has got this to run just go through and clarify a few points:

Arduino type used
Library used
Which pins to connect : SD0(MISO), LED, SCK, SDI(MOSI), D/C, RESET, CS, GND, VCC

If you used a level converter to go to 3.3v, and what pins need to be 3.3v or is it all of them?

I've got an uno and no level converter chip.

Cheers if you can lock this down for me :slight_smile:

Arduino Uno and Arduino Nano (328 chip)

Here pin connection:
http://forum.arduino.cc//index.php?topic=181679.msg1406299#msg1406299
exactly 8 post before this.

For converter:
http://forum.arduino.cc//index.php?topic=181679.msg1404056#msg1404056
page 1 of this thread.

Hello everyone! I bought an LCD based on ILI9341 driver but none of the available arduino examples worked to my Arduino pro mini.
I used the CD4050 level converter (5V -> 3.3V) and a LD33V ( 5V to 3.3V voltage regulator).
Still the LCD denied to work.

So, I examine the source code of TFTv2.cpp and TFTv2.h files. I saw that the LCD's Reset pin was not initialized.
Then I add the following 2 lines to TFTv2.h files:

#define TFT_RST_LOW  {DDRD |= 0x10;PORTD &=~ 0x10;} //Added by Vassilis Serasidis (18 Oct 2013)
#define TFT_RST_HIGH {DDRD |= 0x10;PORTD |=  0x10;}  //Added by Vassilis Serasidis (18 Oct 2013)

and these 3 lines to TFTv2.cpp:

void TFT::TFTinit (void)
{
      TFT_RST_LOW; //Added by Vassilis Serasidis (18 Oct 2013) 
      delay(200);  //Added by Vassilis Serasidis (18 Oct 2013)
      TFT_RST_HIGH; //Added by Vassilis Serasidis (18 Oct 2013)
      SPI.begin();
       ...
       ...
}

After that all examples worked just fine!

You can download the library and the examples I used from https://dl.dropboxusercontent.com/u/3680094/SeeedTFTv2.zip

Thanks @serasidis.
But where you downloaded library?
In my version Reset #define exist and in TFTInit are used. ?!?

In TFTv2.h

#define TFT_RST_OFF {DDRD |= 0x10;PORTD |=  0x10;}
#define TFT_RST_ON  {DDRD |= 0x10;PORTD &=~ 0x10;}

In TFTv2.cpp

void TFT::TFTinit (void)
{   SPI.begin();
    TFT_CS_HIGH;
    TFT_DC_HIGH;
    INT8U i=0, TFTDriver=0;
      TFT_RST_ON;
	delay(10);
	TFT_RST_OFF;
    for(i=0;i<3;i++)
    { TFTDriver = readID();
    }
...

I downloaded the library from here: http://www.seeedstudio.com/wiki/images/6/6d/Seeed_TFT_v2.0.zip

This link is posted on the first post of the current topic. I was not member of this forum and I hadn't had access to your ili9341.rar file to download it.

After your last post went back to the first page, I saw your link, I downloaded your library and it worked very good!
Well done nid69ita!

Serasidis:
After your last post went back to the first page, I saw your link, I downloaded your library and it worked very good!
Well done nid69ita!

I think the link I posted is better because the programmer downloaded the original seedstudio library and he fixed many things.

Hi guys.

I've bought one of these and am struggling to get the examples from this source to work: GitHub - gmtii/ili9341-arduino: ILI9341 2.2 LCD library. My device is identical to the one in matchy's photo in post #24.

Forgive my complete ineptitude; Do the inputs of the screen sink or source current? I am using a non-inverting 4050B and notice that TheCoolest's post #7 illustration seems to suggest he's using an inverting 4050. If this is correct, am I likely to have blown it up?

I finally got it working with nid69ita .rar library. My setup:

a) New Arduino nano 328 16 Mhz 5v
b) 2.2" Serial SPI TFT LCD Module Display 240*320 Chip ILI9340C+PCB Adapter SD Card http://www.ebay.es/itm/200952295233?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
c) 4-Channel 5V-3.3V Level Converter http://www.ebay.es/itm/Adafruit-4-Channel-5V-3-3V-Level-Converter-for-Raspberry-Pi-GPIO-Arduino-etc-/181225596332?pt=UK_Computing_Other_Computing_Networking&hash=item2a31e325ac&_uhb=1

Just some advices with problems I found:

  • The bidiretional level converters based on MOS has a voltage regulator from 5V to 3.3V. Initially I didn't got 3.3v in the output, but finally I discovered that it has and output 0.2v shottky diode after the regulator, so you need to use this output pin to make it work and drains maximum of 150mA.
  • The LED output I need to conect to a BC337 NPN transistor since the arduino nano+level converter have not enough current fanout.

Finally from the hellow world now one can work in the development.

And another question regarding the ILI9341 on the red board; I presume Vcc needs 3.3v?

Tobster86:
And another question regarding the ILI9341 on the red board; I presume Vcc needs 3.3v?

Yes. Some vendors on ebay wrote that this display also accept 5v but I don't know if are different versions or it's a lie.

Tobster86:
And another question regarding the ILI9341 on the red board; I presume Vcc needs 3.3v?

well, in mine there is a voltage regulator to get 3.3v from 5v power supply. But also there are a jumper to do a bridge from Vcc to 3.3v bus trace. In my case both supplies are correct. What is confusing in ebay shops is that they indicate 5 and 3.3v compatibility and one can imagine that it is the same for the serial interface pins, but really not...

Does anyone have a routine to read an image from the SD card and plot it in the LCD?

Hy Guys,

I am struggling to with that TFT Display. I not totally new to Arduino, I done various things with a hitachi, even soldering my own shield with a shiftregister for the 2 Wire configuratoin ,but this is way over my experience level.
What I have:

  • The ILI9341 Display with SD-Card slot and 9 soldered Pins (VCC,GND,CS,Reset,D/C,MOSI,SCK,LED and MISO), similar to the picture in a post in this thread
  • a 4 Channel Voltage converter with 6 Pins ( 1 bidirectional VCC 5 V <->3,3 V, 1 Ground , 4 5->3,3 V )
  • a Arduino Pro mini 5V
  • Wires and bread board.
  • propably every library from the internet
    I tried almost every PIN configuration shown in examples on youtube, inside the scripts,
    first I wired it direct, Arduino->TFT, then I tried to wire from Arduino -> Voltage converter-> Display - I downloaded uTFT, GitHub - gmtii/ili9341-arduino: ILI9341 2.2 LCD library, and 2 other libraries. I have the PDF about 3,9MB for the display, but I am to unexpierenced to get it working.
    I also tried to follow the guide here -> LCD4 - YouTube , but I don´t own a 5110 Display nor the 1,8" TFT. They don´t use a voltage converter, do they use a 3,3V Arduino Board ?
    Could someone give me a start, because this is giving me a headache.
    At least I can get the background LED working, with a library, it was with the one from github ( link here in this thread ) , but when I wire it up, just nothing happens, not even a flicker or else.
    Do I need to use the voltage converter for the CS/RESET/DC/MOSI ?
    Hope somebody can help,

Cheers Andre

EDIT 2 day later (29.10.2013): OK, well I probably sounded like a total noob, asking already answered questions, believe it or not, the pictures in this threat we´re showing up today, first time I am folling it. Now I see what I am did wrong... I hope I get it working tonight ! because all my questions are now answered :slight_smile:

xcastelo:
well, in mine there is a voltage regulator to get 3.3v from 5v power supply. But also there are a jumper to do a bridge from Vcc to 3.3v bus trace. In my case both supplies are correct. What is confusing in ebay shops is that they indicate 5 and 3.3v compatibility and one can imagine that it is the same for the serial interface pins, but really not...

Is it the same as this board? (And if so, I presume you refer to jumper J1? To clarify; must I supply 5v if the jumper is not present?)

Can you confirm if the IO's source or sink?

I'm seeking a little help here with the level convertors. I have on hand some 74HC245 transceivers, they have been used in other projects here but I've never gotten around to actually using them. They are just buffers, the same as the CD4050 used here, but have an extra couple of pins, which I can't figure out despite spending some quality time with the spec sheet. I've had a good look at the diagram on page one of this thread, the buffers in the 245 are of the same kind, non-inverting, I believe, and this should be straightforward except for the extra pins (to/from voltage ?) on the 245. Its datasheet is at http://www.nxp.com/documents/data_sheet/74HC_HCT245.pdf

I'm using the same expected setup everyone is I think, one of the ILI9341 displays and a 5V Uno.

EDIT: I have the 20 pin version, just discovered there's a 24 pin version as well

Yeah ,I got mine working too ! 8)
Hello world ! :smiley:

I´d like to tell everybody how I have done it, maybe it will help:
I had a arduino mini pro 5V, a 5 Channel voltage regulator 5V->3V and the Display, got it from somewhere really cheap with no documentation. I tried so much, but what gave me the start was this setup:
Posted by nid69ita:

nid69ita:
D4 : RESET
D5 : CS
D6 : D/C
D7 : LED -> wired to the VCC of display , not to pin on arduino
D11 : MOSI
D12 : MISO
D13 : SCK

Downloaded the ili9341.rar from that post. Uploeaded the text-example from that lib. I have put Display Vcc and Gnd through voltage regulator (one way), then D4,CS,D/C,SCK through the 4 Channels (bidirectional) of the voltage regulator. MISO was dirctly wired. I wired MOSI directly too (because I didn´t have more channels), resulting in a white screen, I messured a bit, then took a 1kOhms resistor for that, something scrambled showed up, I tried some lower resistors and ended by a 470 Ohms resistor in the MOSI wire.... And hello world.

I just ordered a 4050 to make a little shield. I need by VR for other projects.

Kudos to nid69ita , and the rest of you all.

Cheers Andre

DSCN2460.jpg

Ok , next problem. I can´t get the SD-Card reader to work with the tftbmp example from the ili9341 library, when I start it, it says "failed" in the serial monitor. Did someone get this working, MOSI is connected with a resistor to Pin 12, the card is a 512MB with FAT, I copied the .bmp-files on it in root directory. All other examples work fine.

Someone knows how to ?

Cheers Andre

Dear friends.
I'm lost with ARDUINO 256r3, not that pin works the library, as I connect it to TFT ILI9341 2.2" SPI. Where they connect or connect pin, CS, D/C and RESET? Than You