
Amazon Prime Free Trial
FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with FREE Delivery" below the Add to Cart button and confirm your Prime free trial.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited FREE Prime delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
HiLetgo ILI9341 2.8" SPI TFT LCD Display Touch Panel 240X320 with PCB 5V/3.3V STM32
Return this item for free
We offer easy, convenient returns with at least one free return option: no shipping charges. All returns must comply with our returns policy.
Learn more about free returns.- Go to your orders and start the return
- Select your preferred free shipping option
- Drop off and leave!
Purchase options and add-ons
- Driver element: a-Si TFT active matrix
- Resolution (dots): 240RGB*320Dots
- Viewing Direction: 6 o’clock
- Pixel arrangement: RGB vertical stripe
- With PCB plate (including power supply IC, SD), compatible with 5110 interface
Frequently bought together

Frequently purchased items with fast delivery
Product details
- Is Discontinued By Manufacturer : No
- Package Dimensions : 4.02 x 3.94 x 0.87 inches; 1.94 ounces
- Item model number : 3-01-1433
- Date First Available : July 6, 2017
- Manufacturer : HiLetgo
- ASIN : B073R7BH1B
- Best Sellers Rank: #36,315 in Industrial & Scientific (See Top 100 in Industrial & Scientific)
- #2 in LCD Touch Panels
- Customer Reviews:
Product Description
Product Description:
100% brand new and high quality
Type: touch panel
Size:2.8" SPI Serial
Display area:36.72(W)X48.96(H)mm
Size:8.5 x 4.8cm
Driver element: a-Si TFT active matrix
Pixel arrangement: RGB vertical stripe
Driver IC: ILI9341
Backlight: White LED
Viewing Direction: 6 o'clock
Color Depth: 262K/65K
Resolution (dots): 240RGB*320Dots
5V compatible, use with 3.3V or 5V logic
Need at least 4 IOs from your MCU
Package included:
1*240X320 Resolution 2.8" SPI TFT LCD Display Touch Panel
Note:
If you are using this LCD with a 5V device such as an Arduino, be aware that it doesn't work if WITHOUT level shifting to 3.3v logic. Please use level shifters from 5V to 3.3V, it will work then.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the TFT display works well with Arduino IL9341 SPI library and ESP8266 boards, featuring a nice full color display that's bright and crisp. The product is simple to use and customers consider it good value for money. The touch screen functionality receives mixed feedback - while some say it works well, others find it difficult to get functioning properly. Customers disagree on the display's speed, with some reporting it runs unexpectedly fast while others find it very slow.
AI-generated from the text of customer reviews
Customers report that the TFT display works well with various platforms, including Arduino IL9341 SPI library, ESP8266 boards, Teensy 3.2, and standard ILI9341 driver.
"This is fully functional. Works exactly how it was intended to. For the price, I will probably buy more of these. Super easy to set up...." Read more
"Let me state, it works, it works as expected and I like the display. Let me get you over a couple of gotchas...." Read more
"...Otherwise, very good value. Works great. Use the Adafruit ILI9341 library for the LCD. Use the Adafruit STMPE610 for the touchscreen..." Read more
"The display itself works fine. Touch screen is responsive and there were no dead pixels...." Read more
Customers like the display quality of this TFT panel, praising its full color and nice appearance, with one customer noting its sharpness.
"The display is bright and the colors are well defined...." Read more
"This thing pretty much does everything. Very nice graphics and reasonable touch. For the money, can't be beat...." Read more
"...for a project I am working on and this one was quick delivery and looked good, plus the seller has proven themselves to me on past orders...." Read more
"...The 2.2" is much brighter, more vibrant with incredible viewing angles. This 2.8" is the complete opposite...." Read more
Customers find the LCD display to be of excellent quality and solid construction.
"...However, it's a knockoff of a great product, so it's put together really well...." Read more
"Works as expected and it is pretty solid overall; although the touch sensitivity is not that great and sometimes require too much pressure, while..." Read more
"...between them, I tried noise suppression, everything, this is a flawed product." Read more
"These are very robust. They work fine at 3.3V and 5V logic...." Read more
Customers find the display panel easy to use and set up, with one customer noting it requires minimal work for prototyping with jumpers.
"...For the price, I will probably buy more of these. Super easy to set up. Pins are clearly labeled. Definitely a great value...." Read more
"...The touch is easy to wire and if you're sharing the bus with the screen it only requires one additional pin...." Read more
"...Most of these SPI screens are pretty easy to use with any modern microcontroller...." Read more
"Very easy to get working - I added this to an an ESP8266 controller, from HiLetgo to build an alarm clock that is time synchronized to an NTP..." Read more
Customers find the display panel to be good value for money, with one customer specifically noting its inexpensive user interface.
"...Super easy to set up. Pins are clearly labeled. Definitely a great value...." Read more
"...The SD Card slot need to have posts soldered Otherwise, very good value. Works great. Use the Adafruit ILI9341 library for the LCD...." Read more
"...coordinates returned by the touch panel but otherwise it IS a good value for the money and most people won't need the extra precision point..." Read more
"...That, with the affordable price, and the fact it can be run with an ESP8266, makes it a very worthy purchase...." Read more
Customers appreciate the display's brightness, describing it as bright and crisp.
"The display is bright and the colors are well defined...." Read more
"...The 2.2" is much brighter, more vibrant with incredible viewing angles. This 2.8" is the complete opposite...." Read more
"...I used 5V w/ 100 ohm resistor for LED power input. Seems plenty bright. Allow for resistive touchpad x-y coordinates to be inverted...." Read more
"Arrived next day. Very good color and brightness. I'm using it for sprite development. AND If I can make it work, ANYONE can :)" Read more
Customers have mixed experiences with the display's touchscreen functionality, with some finding it well-functioning while others report difficulties getting it to work properly.
"The display itself works fine. Touch screen is responsive and there were no dead pixels...." Read more
"...The touchscreen overlay is resistive. Unlike a modern phone, it requires a very firm press such as with a stylus or your finger tip to get accuracy." Read more
"...Overall, it's a fantastic little touch screen / display for Arduino or Raspberry Pi projects." Read more
"...a library called TFT_eSPI and it can drive the display and the touch screen very well...." Read more
Customers have mixed experiences with the display's speed, with some reporting it runs unexpectedly fast while others find it very slow.
"...But it doesn't get in the way. It's rated for like 10Mhz, but it will work at 40Mhz for writes and 20Mhz for reads which is plenty fast...." Read more
"...Aside from that, it runs well on the Teensy 3.6 we used as an MPU for the project, doesn't draw a lot of current and once we got a calibration..." Read more
"...Definitely a great value. It is however slower than other higher end expensive units but you get what you pay for." Read more
"...However, with Bodmer's TFT_eSPI libraries, it runs unexpectedly fast. Like, shockingly fast, with smooth animations @ around 32 fps...." Read more
Reviews with images

Guide and helpful steps for other first-timers!
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on June 9, 2018I love these displays and use them on all my projects. I've bought about 8 so far and can get them to work with either Teensy 3.2 or an Arduino Nano.
For operation with a Teensy 3.2
1. use the <ILI9341_t3.h> from the PJRC--and this lib is very fast connect directly
2. for touch use "UTouch.h"
3. for SD I use <SdFat.h>
4. no level shifters needed
5. you may need to solder J1 (I do on all my displays)
4. if you want to use SD, remove the resistors R1, R2, R3 and solder 0 ohm resistors
For operation with Auduino Nano
1. use the <Adafruit_ILI9341.h>
2. for touch use "UTouch.h"
3. for SD I have yet to get an SD to work with graphics due to not enough memory
4. no level shifters needed
5. you WILL need to solder J1 (I do on all my displays)
EDIT as of 12/29/2019 Usage with Arduino connect as usual but power your Arduino with 3.3 volts (just connect 3.3 to the 5V pin on the arduino). Alternatively you can put a 1K series resistor on all pins to drop the voltage going to the unit (and power with 3v3). THESE UNITS WILL NOT WORK IF POWERED WITH 5 AND IF THE SIGNAL LINES ARE 5 VOLTS.
update 2/2/2022 tips on usage to get everything working on a teensy 4.0 (or 3.2)
/*
This simple program will test
1) the display, 2) the SD card, 3) the touch screen, 4) ability to readPixel
The readPixel is only supported by some display drivers
like the ILI9341_t3 driver, there is a PrintScreen.h utility that will let you
save your screen to a BMP file and draw the file
if readPixel fails try to adjust speeds above. It's possible the display MISO is not tri state
and will basically own MISO where other devices can't use it. If so, you will need some external buffer
magic
If using display with Teensy (3v3) solder J1, replace R1, R2, R3 with 0 ohm
pin connections
Display MCU
VCC 3v3
GND GND
CS 10
RESET 3v3 If white screen 1) 8 or 2) use series 1K0 and 10uf to GND to slow charge
DC 9
MOSI 11
SCK 13
LED 3v3 or connect to analog pin and use analogWrite(x) to fade brightness
MISO 12
T_CLK 13
T_CS 0
T_DIN 11
T_DO 12
T_IRQ 1
SD_SCK 13
SD_MISO 12
SD_MOSI 11
SD_CS A3 (other digital pins may work, read data sheet for what pins support CS)
*/
#include "ILI9341_t3.h" // high speed display that ships with Teensy
#include <XPT2046_Touchscreen.h> // touch driver for a TFT display
#include <SdFat.h>
#include <SPI.h>
#define CS_PIN 10
#define DC_PIN 9
#define T_CS 0
#define T_IRQ 1
#define SD_CS A3
int BtnX, BtnY;
// you know the drill
ILI9341_t3 Display(CS_PIN, DC_PIN);
XPT2046_Touchscreen Touch(T_CS, T_IRQ);
TS_Point TouchPoint;
SdFat sd;
SdFile dataFile;
void setup() {
Serial.begin(9600);
while (!Serial) {}
Serial.println("Starting...");
// start the dispaly
Display.begin();
Display.setRotation(1);
// depending on your exact display getting touch + SD + display working
// you may need to adjust the clock speed
// default is 30 mhz but you may need to slow to 10000000 or set to as high as 100000000
//Display.setClock(20000000);
// start the touch
Touch.begin();
Touch.setRotation(1);
// start the SD card
// depending on your sd card and display, you may need to slow the sd card clock
// I find 20 mhz to be pretty reliable
bool SDStatus = sd.begin(SD_CS, SD_SCK_MHZ(20));
//bool SDStatus = sd.begin(SD_CS);
// test SD and write something
if (SDStatus) {
Serial.println("SD OK");
dataFile.open("Test.txt", FILE_WRITE);
dataFile.print("This is a test");
dataFile.close();
}
else {
Serial.println("SD failed");
}
// test display
Display.fillScreen(ILI9341_BLUE);
Serial.print("Color of pixel (10,10): ");
Serial.println(Display.readPixel(10, 10));
delay(4000);
Display.fillScreen(ILI9341_BLACK);
}
void loop() {
if (Touch.touched()) {
TouchPoint = Touch.getPoint();
BtnX = TouchPoint.x;
BtnY = TouchPoint.y;
// consistency between displays is a mess...
// this is some debug code to help show
// where you pressed and the resulting map
// x = map(x, real left, real right, 0, width);
// y = map(y, real bottom, real top, 0, height);
// tft with black headers, yellow headers will be different
BtnX = map(BtnX, 3700, 300, 0, 320);
BtnY = map(BtnY, 3800, 280, 0, 240);
// Serial.print(", Mapped: ");
// Serial.print(BtnX);
// Serial.print(",");
// Serial.println(BtnY);
Display.fillCircle(BtnX, BtnY, 3, ILI9341_RED);
// delay(5);
}
}
- Reviewed in the United States on September 9, 2024This is fully functional. Works exactly how it was intended to. For the price, I will probably buy more of these. Super easy to set up. Pins are clearly labeled. Definitely a great value. It is however slower than other higher end expensive units but you get what you pay for.
- Reviewed in the United States on September 18, 2022Let me state, it works, it works as expected and I like the display.
Let me get you over a couple of gotchas. First off, no joke on the 3.3V logic. You can't use an UNO for testing, it just doesn't work. I can think of a chipset I haven't been able to cheat it but 5V = doesn't function (worked fine after I switched processors, I didn't cook mine).
I got mine working on an Arduino MKR. I tied reset to the MKRs VCC, I plugged the display VCC into the 5V pin. I used the Adafruit ILI9341 library and the display test ran after I look the "LED" pin and tied it to pin 6 and did the told digitalWrite(6, HIGH); on the top line of setup();.
I then tested the touch screen with the XPT2046 library, there is only one out there from memory. One note... the MISO/MOSI lines are NOT connected as some online walkthroughs state... so you'll need to switch wires over for bench testing. I used the example with IRQ and put my CS on pin 5 and IRQ on pin 4. The sensitivity of the display matched my expectations for a resistive touch screen (vs capacitive).
For the hassle I prefer the Adafruit version but with a little extra effort it's worth the lower cost.
5.0 out of 5 starsLet me state, it works, it works as expected and I like the display.Works fine once you get past a few gotchas
Reviewed in the United States on September 18, 2022
Let me get you over a couple of gotchas. First off, no joke on the 3.3V logic. You can't use an UNO for testing, it just doesn't work. I can think of a chipset I haven't been able to cheat it but 5V = doesn't function (worked fine after I switched processors, I didn't cook mine).
I got mine working on an Arduino MKR. I tied reset to the MKRs VCC, I plugged the display VCC into the 5V pin. I used the Adafruit ILI9341 library and the display test ran after I look the "LED" pin and tied it to pin 6 and did the told digitalWrite(6, HIGH); on the top line of setup();.
I then tested the touch screen with the XPT2046 library, there is only one out there from memory. One note... the MISO/MOSI lines are NOT connected as some online walkthroughs state... so you'll need to switch wires over for bench testing. I used the example with IRQ and put my CS on pin 5 and IRQ on pin 4. The sensitivity of the display matched my expectations for a resistive touch screen (vs capacitive).
For the hassle I prefer the Adafruit version but with a little extra effort it's worth the lower cost.
Images in this review
- Reviewed in the United States on May 21, 2020The display is bright and the colors are well defined. The model I received has a transistor to control the back light LED which is handy if you want to control it from code. It also has the touch screen overlay oriented so the X, Y coordinates align with the LCD display coordinates. It came with a handy white stylus. I bought a similar ILI9341 and it lacked the stylus, the transistor and the overlay orientation was reversed.
The SPI pins are broken out separately for the touchscreen and the LCD which is useful because they run at very different speeds. The LCD works well at 50 MHz which is great for fast drawing, but the touchscreen produced errors at speeds exceeding 1 MHz.
The touchscreen overlay is resistive. Unlike a modern phone, it requires a very firm press such as with a stylus or your finger tip to get accuracy.
The display is bright and the colors are well defined. The model I received has a transistor to control the back light LED which is handy if you want to control it from code. It also has the touch screen overlay oriented so the X, Y coordinates align with the LCD display coordinates. It came with a handy white stylus. I bought a similar ILI9341 and it lacked the stylus, the transistor and the overlay orientation was reversed.
The SPI pins are broken out separately for the touchscreen and the LCD which is useful because they run at very different speeds. The LCD works well at 50 MHz which is great for fast drawing, but the touchscreen produced errors at speeds exceeding 1 MHz.
The touchscreen overlay is resistive. Unlike a modern phone, it requires a very firm press such as with a stylus or your finger tip to get accuracy.
Images in this review
- Reviewed in the United States on May 13, 2022I love the ILI9341 so my review is biased because this product uses that controller. With touch it has everything I need to do most of my prototyping. I don't use the SD reader on it - who does? But it doesn't get in the way. It's rated for like 10Mhz, but it will work at 40Mhz for writes and 20Mhz for reads which is plenty fast. The build quality of the breakout is what you can usually expect from hiletgo - which is decent, but not stellar. However, it's a knockoff of a great product, so it's put together really well. The touch is easy to wire and if you're sharing the bus with the screen it only requires one additional pin.
This is the display I recommend if someone just asks me "what display should I use for Arduino?"
- Reviewed in the United States on October 27, 2018This thing pretty much does everything. Very nice graphics and reasonable touch. For the money, can't be beat.
I've only used a logic level shifter to 3.3V with this. Everything works fine when you use it.
Pins of interest:
CS is Chip Select (user defined)
Reset is Reset (user defined)
DC is DC (user defined)
MOSI is MOSI
SCK is the Clock
LED ties to VCC (3.3v)
MISO is MISO
The Touch Screen is simpler
The SD Card slot need to have posts soldered
Otherwise, very good value. Works great. Use the Adafruit ILI9341 library for the LCD.
Use the Adafruit STMPE610 for the touchscreen
Use the SD library for the SD card