Red ILI9341 SPI and Uno R3

Can anybody tell me if these generic TFT displays are unreliable or flakey when used with an Uno? I have a project that works perfectly fine with a parallel display shield, but need to switch to an SPI type because I need to use pin 8 and timer1 as a frequency counter.

I'm using the following to initialize it, borrowed from one of the Adafruit examples.

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

#define TFT_RST 7
#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_MISO 12
#define TFT_CLK 13
#define TFT_LED A0

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS,TFT_DC,TFT_MOSI,TFT_CLK,TFT_RST,TFT_MISO);

In the setup I'm turning on the backlight with this, no need for brightness control at this time.

pinMode(TFT_LED,OUTPUT);
digitalWrite(TFT_LED,HIGH);
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);

All I get is a backlit white screen, the screen doesn't fill black and nothing else will write to the display either. I've checked the wiring over and over, even completely disconnected it and replaced the wires.

Is there some obvious trick that I'm missing?

I've never had trouble with them on any processor. However, I normally use the Bodmer TFT_eSPI library, not the Adafruit one and Bodmer has found that there are two variants of the ILI9341 and he provides two different libraries for them. I've also come across that myself. Some of them will only work with one version of the library.

Actually right now in the middle of bringing one up with an STM32 blackpill.

Is that library only for ESP units, or is it also compatible with original Arduinos? I just tested the display and the same code on an Arduino Pro Micro (with pin number adjustments) and have the same issue. Kinda wondering if I got a lemon display.

Scratch that question...I just looked, it's only for 32 bit processors.

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