TFT screen, shield and arduino uno

Hi everyone,

I’m trying to program my arduino uno to display colorful text or graphs using potentiometer, I’m using TFT 4.3" touch screen for this purpose.

Firstly I need to test the screen then to do my program.
There are simple examples to test the screen, however when I upload it only white screen is appearing (which comes from power supply, so actually it shows nothing) not as the code must show and it says there’s no error!
I couldn’t figure what’s the problem??? :cold_sweat:

*For Setting up the hardware:
I plugged the shield on Arduino and the screen above it directly (as all says for TFT 2.8"). < so I don’t know if I should do something more with the connection since mine is 4.3"!

*For the software:
I downloaded the library, copied it into \Arduino\libraries folder.

after that to test the shield so I know it works, I uploaded the paint example included in the library and everything okay but nothing appears!

*This is a video showing the result of paint example:

here is the paint example:

// Paint application - Demonstate both TFT and Touch Screen
#include <stdint.h>
#include <TouchScreen.h>
#include <TFTv2.h>
#include <SPI.h>

int ColorPaletteHigh = 30;
int color = WHITE;  //Paint brush color
unsigned int colors[8] = {BLACK, RED, GREEN, BLUE, CYAN, YELLOW, WHITE, GRAY1};

// For better pressure precision, we need to know the resistance
// between X+ and X- Use any multimeter to read it
// The 2.8" TFT Touch shield has 300 ohms across the X plate

TouchScreen ts = TouchScreen(XP, YP, XM, YM); //init TouchScreen port pins

void setup()
    Tft.TFTinit();  //init TFT library
    //Draw the pallet
    for(int i = 0; i<8; i++)
        Tft.fillRectangle(i*30, 0, 30, ColorPaletteHigh, colors[i]);

void loop()
    // a point object holds x y and z coordinates.
    Point p = ts.getPoint();

    //map the ADC value read to into pixel co-ordinates

    p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
    p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);

    // we have some minimum pressure we consider 'valid'
    // pressure of 0 means no pressing!

    if (p.z > __PRESURE) {
        // Detect  paint brush color change
        if(p.y < ColorPaletteHigh+2)
            color = colors[p.x/30];

I uploaded the paint example included in the library and everything okay but nothing appears!

That's a strange definition of OKAY, then.

That's why I'm asking here, 'cause I didn't get what's the problem since it shows "no error"..

maybe I have to add something since it is 4.3" and the code is originally for 2.8"???

by the way I changed the code to 480x272 instead of 320x240.. still nothing showed except a white screen :slightly_frowning_face:

Could you upload a picture of your setup? Also, attach a link of the tft lcd and shield you are using?

the shield

the TFT 4.3" LCD screen

my setup and the white screen




Maybe the arduino uno can't handle 4.3" tft lcd. [I don't know] I'm also a newbie in tft lcd. but it's a very high possibility. I think investing on an arduino mega 2560 is not a very bad option.

I think like you, but if arduino uno can’t handle TFT 4.3" screen, why would they make 4.3" shield for arduino uno??? ::slight_smile: