2.8 TFT SPI 240x320 v1.1 (ILI9341), WhiteScreen.

Board: 2.8 TFT SPI 240x320 v1.1
This is my connection to the board, without any resistors.

VCC / 3.3V
DC / D9
CS / D10
MOSI / D11
MISO / D12
SCK / D13

I used the same connections and same programm as described here,

'graphicstest' example, which is in the ILI9341 library examples folder, and downloaded "Adafruit-GFX-Library" and Adafruit_ILI9341.
All i get is a white screen display,
and this data in the Serial Monitor Output:

ILI9341 Test!
Display Power Mode: 0x0
MADCTL Mode: 0x80
Pixel Format: 0x87
Image Format: 0x86
Self Diagnostic: 0x87
Benchmark Time (microseconds)
Screen fill 1449088
Text 145576
Lines 1206060
Horiz/Vert Lines 122636
Rectangles (outline) 80340
Rectangles (filled) 3007708
Circles (filled) 464744
Circles (outline) 508112
Triangles (outline) 268056
Triangles (filled) 1307536
Rounded rects (outline) 208264
Rounded rects (filled) 3029180

What should i do?

From your link:

For this project I used a 2.4" 240 x 320 TFT Touch screen with SD Card holder the I got on Ebay from this seller for £2.99. The first phase of the is project is to try out the colour display. I used a 3.3V 8MHz Arduino Pro Mini to drive the display - also sourced very cheaply on Ebay. I chose this board because, although the seller of this display claims that it will work at both 5v and 3.3v, the majority of these display will not. So, rather than have to use level shifters of resistor dividers, I made the whole project run at 3.3v.

The photos in the link show a regular Red 3.3V board. There are no level shifting components on that pcb.

Yes, of course a 3.3V display works perfectly at 3.3V.

No, it is not difficult to wire resistors or level shifters.

You wrote:

Board: 2.8 TFT SPI 240x320 v1.1
This is my connection to the board, without any resistors.

Of course it will NOT work without resistors. All shopkeepers will lie through their teeth.
Demand a FULL refund. (I suspect the shopkeeper will become silent)


Thank you for responding quickly.
So all that i need is to connect resistors?
and if so, how to connect them, and what resistors values to use?
Btw i forgot to mention that I’m using Arduino Uno board.

Google "Bodmer ILI9341" or similar. He shows how and what values.

Life is much simpler with a Uno clone that has switch-able 3.3V / 5V logic.


Much appreciated David,
I found this page, just need to adjust it to my setting and I will give it a try,

There is no excitement and thrill in "Life is much simpler", don't you think, mate?

It's Working perfectly, I used 6.8 and 3.3 resistors instead of 1.2K and 1.8K but its pretty much the same proportions and for the led pin i used 51ohm resistor.
Don't forget to add the reset pin to the programm and connect it as well.
My connections : http://prntscr.com/lp16te
Thanks you very much guys.

I used 6.8 and 3.3 resistors instead of 1.2K and 1.8K but its pretty much the same proportions and for the led pin i used 51ohm resistor.

6k8 and 3k3 should work fine. 6R8 and 3R3 will be too low.
51R will be fine for the backlight.


My bad, I used 6.8K and 3.3K resistors, like you said.

Just got the same problem as you. I Have a ili9341 3.3 v and a arduino pro mini 3.3v . I have a regulated 3.3V supply and unfortunately a white screen.
I didn’t try to add some resistors yet. Could you explain why you need them while everything should work at 3.3V ? i used the same scheme indianbeantree.


First off. Post a link to the actual display that you have bought.

The popular 3.3V Red SPI displays will work with 3.3V Pro Mini without any level shifters.

But we need to see which board you have.


This is my breadboard and the ili9341 reference


You have a regular Red SPI display.

How do you expect anyone to decipher your spaghetti ?

It does not even look asif you have soldered the header pins on the Pro Mini.

Seriously. Either learn how to solder and layout wiring neatly. Or buy ready-made display shields and regular Arduino.

Think about a Fritzing diagram. Coloured single-core wires can be cut and bent neatly. e.g. breadboard could look like a Fritzing.


Totally agree with you.

For the connection I use :
ILI9341 Pin Name Arduino
2 T_DO
4 T_CS
6 SDO(MISO) 12
8 SCK 13
9 SDI(MOSI) 11
10 D/C 9
11 RESET 8
12 CS 10
14 VCC VCC (+3.3V)

and for the code, I add the part with #define RST

Yes, the wiring "plan" seems fine.

How do we know if your spaghetti follows your "plan" ?
Or whether you have soldered the header pin strip.

Or what sketch you were running.
Or what constructor you were using.



I tried to do something better (easy lol) with the wiring.

When I connect my ftdi I have this on the serial tracker :

ILI9341 Test!
Display Power Mode: 0xFF
Pixel Format: 0xFF
Image Format: 0xFF
Self Diagnostic: 0xFF
Benchmark Time (microseconds)
Screen fill 2994000
Text 350048
Lines 2871248
Horiz/Vert Lines 254088
Rectangles (outline) 167576
Rectangles (filled) 6214712
Circles (filled) 997560
Circles (outline) 1227792
Triangles (outline) 633000
Triangles (filled) 2716432
Rounded rects (outline) 485992
Rounded rects (filled) 6269976

With Arduino as ISP
Atmega 328P (8Mhz,3.3V)

The code is graphicstest with

#include “SPI.h”
#include “Adafruit_GFX.h”
#include “Adafruit_ILI9341.h”

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

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC,TFT_RST);

Question : when I connect my ftdi, the Arduino pro mini has a red light and a green one.
The ili9341 doesn’t work. I don’t have any white screen.

When I instead connect my 3.3V regulated supply, I have a white screen but none leds on the Arduino.

Thanks for your help

Your wires look ok.

But you must solder the header strip to the Pro Mini pcb

The display pcb has a 3.3V regulator. You normally supply the display VCC pin with 5V that feeds the regulator.

The displays tend to work even if you have only got 3.3V feeding the regulator.
But the pcb is designed for both 3.3V or 5V. You make a solder-bridge that shorts the regulator if you use 3.3V

Do you own a soldering iron?


Sorry I don't understand

"You make a solder-bridge that shorts the regulator if you use 3.3V"

If I understand correctly, the display can work with 3.3V regulated display even If it's better to supply with 5V

As for the Arduino , I don't understand why I don't have any led working with 3.3V from my regulated supply. I understood that If I supply with 3.3V it's connected to VCC and If I want to supply with 5 V it's on the raw entry.

I chose 3.3V to make my life simpler but it's not working :-(.

When you say I must solder the header strip to my Arduino, you mean the 7 connections : VCC,GND,10,11,12,13,8,9) ?

or all of them


The blue pcb should be soldered to the male header strip that plugs into the breadboard.
Your photos look as if the pcb could be lifted off the header strip that is plugged in the breadboard.

Do you own a soldering iron?

Yes, you can supply 3.3V directly to the VCC pin on the blue pcb. The LED should light.

How do you program the Pro Mini ? FTDI board or external programmer ?

Depending on your Red 2.8 inch pcb, The regulator is printed I1 and the solder-bridge is printed J1.
This is why I always ask for an accurate link to the actual display on your desk.


Yes I have a soldering iron, maybe 10 years I don't use it but I will give it a try tomorrow.

I'll tell you after if the green light work because without soldering it's not the case :-(.

The Pro Mini is programmed with a FTDI board.

The download seems ok (I don't have any error message).

When I transfer the program, The display is not working. Maybe because the VCC pin on the edge of the Arduino is not connected to the (main) VCC of the Arduino and so not on the display.

That's correct ?

You could connect RAW to 5V. And 5V to display VCC.

I suspect that your FTDI might be in conflict with an external VCC.
Without seeing the FTDI schematic or your connections, it is difficult to say.

But first off. Practice your soldering. Then solder the header strip to the Pro Mini.