I have a big problem in my ILI9341 TFT Display

So i recently buy this "ILI9341 TFT SPI Display" from online but after a plug the wires in my arduino uno it displays as white screen, sometimes it works but only glitching after that goes back on being white again. So i tried to pud the vcc in 5v does not work and also the led and i put it back again in the 3.3v So i use this code

P.S This is not a touch screen i only need it to display

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>

#define TFT_CS   10
#define TFT_DC   8
#define TFT_RST  9

// Use hardware SPI with explicit SCK and MOSI pins
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST, 13, 11); // SCK=13, MOSI=11

void setup() {
  Serial.begin(9600);
  Serial.println("Alternative Display Test");
  
  // Force SPI mode 0
  SPI.setDataMode(SPI_MODE0);
  SPI.setBitOrder(MSBFIRST);
  SPI.setClockDivider(SPI_CLOCK_DIV8);
  
  // Initialize with slower speed
  tft.begin(20000);
  delay(100);
  
  // Basic test pattern
  while(1) {
    // Red screen
    tft.fillScreen(ILI9341_RED);
    delay(1000);
    
    // Green screen
    tft.fillScreen(ILI9341_GREEN);
    delay(1000);
    
    // Blue screen
    tft.fillScreen(ILI9341_BLUE);
    delay(1000);
    
    // Text test
    tft.fillScreen(ILI9341_BLACK);
    tft.setTextColor(ILI9341_WHITE);
    tft.setTextSize(2);
    tft.setCursor(10, 10);
    tft.println("Testing 123");
    delay(1000);
  }
}

void loop() {
  // Empty
}

my pins

VCC 3.3V Red
GND GND Black
CS D10 Yellow
DC D8 Blue
RST D9 Green
MOSI D11 Orange
SCK D13 Purple
LED 3.3V white

I'm going to guess that you're not using any sort of level translation between your 5V Uno and your 3.3V ILI9341 display.

You're just feeding the Uno's 5V signals straight into the display's inputs. The inputs that are designed for 3.3V signals.

And you're surprised it's not working properly? I'm not.

This is the kind of thing you need to do to interface a 5V board (like an Uno) with a 3.3V display. This includes the touchscreen i/f which you could leave out.

sorry im a beginner, uno has 3.3v right?

The Uno is a 5V board.

Its output signals are 5V levels.

The ILI9341 expects 3.3V input level signals.

It's that simple.

Thank youuuu!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.