White screen on 3.5 inch TFT (ili9327) with UTFT library

Hi everyone,

I received today my new 3.5 TFT touch screen but I can't make it work, the screen still white.

I'm using the UTFT library and a arduino mega.

This is my display: Display

On the shield of my display I have 8 data pins.

But I'm not sure about the connections. This is how I do:

I'm using the blue and green pins (this is the only pins I use).

For the code I use the example in arduino AVR and the UTFT_Demo_400x200.

So if somebody could tell me what I'm doing wrong, it would be nice :slight_smile:

Thank you for your help.
Yop

IMHO: First step in debugging should be: See if you can read the chip ID properly. Just a little odd in that the display is 400x240 and the ILI9327 is listed as 432x240 in its datasheet. Not that it couldn't be right, just that vendors have a tendency to use the maximum specs to encourage sales so it seems a little odd.

Reason to check the chip ID is three fold.

  1. You can't if your connections are wrong
  2. You can't if it is a broken display
  3. Vendors seem to be less then knowledgeable about their products.

I defer to the wisdom of Adafruit when someone reported the an unknown value for their display chip ID, 'Your display data lines are bad.' This was one for one of their own products so wiring and chip ID wasn't in question.

Hey,

I found this library, but it still not work :frowning:

library

I gave that library a quick look, so I could be very WRONG! Looking at the files I got the impression it was made for serial mode. At any rate, shouldn't be more then a couple of jumper changes to try that serial vs. 8 bit parallel.

OK, read a bit more and it does look like it supports 8 bit parallel too. I'm not sure but it looks like the author made an effort to plug it directly into a Mega

#if defined(USE_UNO_SHIELD_ON_MEGA)
		PORTG &= ~0x20;
		PORTG |= (VH & 0x10)<<1;
		PORTH &= ~0x18;
		PORTH |= (VH & 0xC0)>>3;
		PORTE &= ~0x3B;
		PORTE |= (VH & 0x03) + ((VH & 0x0C)<<2) + ((VH & 0x20)>>2);
		pulse_low(P_WR, B_WR);
		PORTG &= ~0x20;
		PORTG |= (VL & 0x10)<<1;
		PORTH &= ~0x18;
		PORTH |= (VL & 0xC0)>>3;
		PORTE &= ~0x3B;
		PORTE |= (VL & 0x03) + ((VL & 0x0C)<<2) + ((VL & 0x20)>>2);
		pulse_low(P_WR, B_WR);

So, have you tried defining USE_UNO_SHIELD_ON_MEGA as true yet?

I really have to buy a Mega and that display! Looks like a good hunk of hardware.

Ok, so here is what I see. The display that you linked has pinouts that fit an UNO. The image in your post show that you are using the extended digital pins on the Mega... in other words, you are trying to use pins 29-37 on the Mega when the screen pins connect to digital pins 0-13 and analog pins A0-A5.

So, if you are going to use the Mega pins 29-37 then you need a different display. If you are intending to use the pins that the display connects to then you need to do what was suggested and use the USE_UNO_SHIELD_ON_MEGA option in the UTFT library.

If you can provide the pinouts for your display, then I could tell you whether or not the UTFT library will work as is or if you will need to modify it.