LCD display with ILI9341 driver on Arduino

Since I use my 4050 I sometimes get weird results with drawing. Now the colors are ****** up. It comes and goes away sometimes its even worse =/ Any ideas?

friendly regards,

Seppe

xeppex: Any ideas?

Bad soldering ?

Still on a breadboard =/ could that be the reason?

xeppex:
Still on a breadboard =/ could that be the reason?

Can be. If you move some wire what happening?

nid69ita: Can be. If you move some wire what happening?

When it's perfectly drawed and I move like crazy it gets worse. So It should be breadboard or something =/ Hope it is fixed when I start soldering.

Just a quick note to say I got this display (http://www.ebay.com/itm/200939222521) working using the wiring diagram provided under reply 93. I used the Ucglib "GraphicsTest" example with the following constructor:

Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 49 , /*cs=*/ 53, /*reset=*/ 48);

Hi @Kenjutsu, this library ? https://code.google.com/p/ucglib/

http://code.google.com/p/ucglib/wiki/connectili9341

nid69ita: Hi @Kenjutsu, this library ? https://code.google.com/p/ucglib/

Yes, that is the one I used. ;)

okay for me library work on Arduino Uno: Ucglib_ILI9341_18x240x320_HWSPI ucg(/cd=/ 6 , /cs=/ 5, /reset=/ 4);

In setup() I added this:

  pinMode(7,OUTPUT);
  digitalWrite(7,HIGH);

because I follow this:

Pinout (Arduino : TFT)
D4 : RESET
D5 : CS
D6 : D/C
D7 : LED
D11 : MOSI
D12 : MISO        ***direct, no cd4050
D13 : SCK

So I think I can not connect LED pin to Arduino pin 7 and connect Led to 3,3V. Here, on library site, http://code.google.com/p/ucglib/wiki/connectili9341 author speak about ILI and Due connection (Due have all pins 3.3V) but use 30ohm resistor for led !?!?

I had connected the backlight LED to the power supply pins. The resistor is required to limit the current. Connecting the backlight to a digital pin is not a good idea, because the digital pins are not able to provide enough current: Your display might be very dark.

Oliver

olikraus: I had connected the backlight LED to the power supply pins. The resistor is required to limit the current. Connecting the backlight to a digital pin is not a good idea, because the digital pins are not able to provide enough current: Your display might be very dark. Oliver

yes, in fact it is dark. You use 3,3V or 5V ? How much for current? 10-20mA like a led ? Thank you, igor

nid69ita:

olikraus: I had connected the backlight LED to the power supply pins. The resistor is required to limit the current. Connecting the backlight to a digital pin is not a good idea, because the digital pins are not able to provide enough current: Your display might be very dark. Oliver

yes, in fact it is dark. You use 3,3V or 5V ? How much for current? 10-20mA like a led ? Thank you, igor

I did follow the specification from page 7 of this datasheet: http://www.adafruit.com/datasheets/TM022HDH26_V1.0.pdf

Overall current is 4*15mA = 60mA Vorward voltage is 3.2V With 5V power supply the required resistor is: R = U / I = (U_power - U_forward) / I_LED = (5V - 3.2V) / 0.06A = 30 Ohm

So the answer is: 30 Ohm (or 33 Ohm) are good for a 5V power supply.

Oliver

It is a good Practice to drive these LCD's with less current. The leds get warm while operating so i always use a series resistor of 10 to 47Ohm (depending on the required brightness) at 3.3V which gives a good compromise between usable light output and current consumption and ensures long life of the leds. I do this because I find different suppliers of LCD's to have more or less current going to the LED's so I try to keep a standard.

I dont use 5V to drive these, but if I would I would use a 47 to 100Ohm resistor for a current of about 40-20mA

I drive my arduino at 3.3V as well, altought under the specs for 16MHz, I can have it running for days and no need for any buffers and the like, so for quick prototyping makes it nice and simple. Just something to think ;)

For connecting this TFT (3.3V) to Arduino using 5V I use a cd4050. I buyed also this little bidirectional module based on TXS0108E on Tindie (6.8$): https://www.tindie.com/products/BBTech/txb0108-8-channnel-bi-directional-level-translator-module/ I tried and it work well, for me. Giving 5V to module you can also get 3V from module for tft and led.

I have connected Arduino through CD4050BE to ILI9341 by scheme below and display works fine, but i don't understand how to connect SD-card. I tried to connect SD_MOSI, SD_MISO, SD_SCK jointly with MOSI, MISO, SCK from TFT-display and SD_CS into D4, but it doesn't work. Anybody help me make it work. Sorry for my English.

P.S.: I used Seeed ILI9341 2.2 TFT+SD library

rmerkushin:
I have connected Arduino through CD4050BE to ILI9341 by scheme below and display works fine, but i don’t understand how to connect SD-card. I tried to connect SD_MOSI, SD_MISO, SD_SCK jointly with MOSI, MISO, SCK from TFT-display and SD_CS into D4, but it doesn’t work. Anybody help me make it work…

Reply #94 worked for one member

Hi all !

3 days i read, i read and i read. 3 days i try, i try and i try.

I do Many things but i am disappointed

I have a ILI9341 LCD TFT, the same as most people here. I have a CD4050. i have a 3.3v power supply. And i have un Arduino uno and a nano (328).

Arduino -> CD4050 -> ILI9341 sclk= 13 miso = 12 (direct arduino TFT) mosi = 11 cd= 6 cs = 5 reset = 4

I Power LCD and CD4050 with 3.3v from power supply (grounded to arduino GND). I Use a cap near TFT and CD4050.

All is ok, i can run libraries (ILI9341/SeeedTFTv2/AdaFruit9341/UTFT/Ucglib/MultiLCD).

But : I can't run Fast SPI (HW SPI) on AdaFruit, UTFT and Ugclib.

MultiLCD is probably the most speed, it run HW SPI (i think) but it's very limited functions. ILI9341/SeeedTFTv2 run fast but no landscape possibility.

  • Adafruit is very slow with : Adafruit_ILI9341 tft = Adafruit_ILI9341(5, 6, 11, 13, 4, 12); : WORKS Adafruit_ILI9341 tft = Adafruit_ILI9341(5, 6, 4); WHITE SCREEN

  • Ucglib is very slow too : Ucglib_ILI9341_18x240x320_SWSPI ucg(/sclk=/ 13, /data=/ 11, /cd=/ 6 , /cs=/ 5, /reset=/ 4); WORKS Ucglib_ILI9341_18x240x320_HWSPI ucg(/cd=/ 6 , /cs=/ 5, /reset=/ 4); WHITE SCREEN

  • UTFT is SW SPI Only (i Think).

ILI9341/SeeedTFTv2/MultiLCD are probably *10 faster.

SD Card isn't wired. I tried it and it works (so HW SPI WORKS ?) Show directoty/read/write/infos... from serial monitor BUT it doesnt' work if i try to use TFT together (SW and HW mode)

I Tried with Uno and Nano, same result. CD5040 isn't bad, FAST SPI works with some libraries.

I read someone have the same issue in this topic (i think). I don't know where is the problem.

Anyone have an idea ?

(Sorry for my english).

Hi Ironic,
read my message here :

Work perfectly with adafruit library and without any 4050, only 10 resistors.
Jacques

??? ironic ?
5 lines must be converted from 5V to 3,3V, so a simple “voltage divider” is sufficient.
5 lines, x 2 resistors (voltage divider) = 10 resistors :smiley:

nid69ita: ??? ironic ? 5 lines must be converted from 5V to 3,3V, so a simple "voltage divider" is sufficient. 5 lines, x 2 resistors (voltage divider) = 10 resistors :D

Or, simply use a 3.3V 8MHz Pro Mini: https://www.sparkfun.com/products/11114

Or, build a flat-duino at 8MHz: http://www.hackster.io/rayburne/flat-duino

Or, use a 3.3V 8MHz Pro Micro: https://www.sparkfun.com/products/12587

Or, try your hand at running a 16MHz Pro Mini at 3.3V knowing this is outside the published specifications.

Ray