HiLetgo ILI9341 2.8" SPI TFT LCD Display Touch Panel 240X320 with PCB 5V/3.3V STM32
Thumbnail 1Thumbnail 2Thumbnail 3Thumbnail 4Thumbnail 5Thumbnail 6Thumbnail 7

HiLetgo ILI9341 2.8" SPI TFT LCD Display Touch Panel 240X320 with PCB 5V/3.3V STM32

4.4/5
Product ID: 47594654
Secure Transaction
12 interest-free installments with tabby
📏240x320 resolution
🔌5V/3.3V power
🖥️TFT active matrix

Description

📱 Elevate Your Projects with Touchscreen Brilliance!

  • ROBUST DESIGN - Includes PCB plate with power supply IC for durability.
  • STUNNING VISUALS - Experience vibrant colors with a 240x320 resolution.
  • WIDE VIEWING ANGLE - Enjoy clear visuals from a 6 o’clock viewing direction.
  • USER FRIENDLY TOUCH - Intuitive touch panel for seamless interaction.
  • VERSATILE COMPATIBILITY - Easily integrates with STM32 and 5110 interfaces.

The HiLetgoILI9341 2.8" SPI TFT LCD Display Touch Panel features a high-resolution 240x320 display with a robust PCB design, making it an ideal choice for developers looking to enhance their projects with vibrant visuals and intuitive touch capabilities.

Have a Question? See What Others Asked

Has anyone gotten touch to work with this? I tried the UTouch library as suggested by one of the comments and couldn't get it to work.
does anyone know the pin connection to Arduino for the touch portion?
Is this display visible outdoors? Preferably in direct sunlight. I’ve read transflective is best but can’t find affordable model.
Has anyone displayed a picture on this screen, from the SD card? Can that be done?

Reviews

4.4

All from verified purchases

K**K

Works with Teensy 3.2 or Arduino - here's how:

I 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.21. use the <ILI9341_t3.h> from the PJRC--and this lib is very fast connect directly2. for touch use "UTouch.h"3. for SD I use <SdFat.h>4. no level shifters needed5. 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 resistorsFor operation with Auduino Nano1. 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 memory4. no level shifters needed5. 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 test1) the display, 2) the SD card, 3) the touch screen, 4) ability to readPixelThe readPixel is only supported by some display driverslike the ILI9341_t3 driver, there is a PrintScreen.h utility that will let yousave your screen to a BMP file and draw the fileif readPixel fails try to adjust speeds above. It's possible the display MISO is not tri stateand will basically own MISO where other devices can't use it. If so, you will need some external buffermagicIf using display with Teensy (3v3) solder J1, replace R1, R2, R3 with 0 ohmpin connectionsDisplay MCUVCC 3v3GND GNDCS 10RESET 3v3 If white screen 1) 8 or 2) use series 1K0 and 10uf to GND to slow chargeDC 9MOSI 11SCK 13LED 3v3 or connect to analog pin and use analogWrite(x) to fade brightnessMISO 12T_CLK 13T_CS 0T_DIN 11T_DO 12T_IRQ 1SD_SCK 13SD_MISO 12SD_MOSI 11SD_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 A3int BtnX, BtnY;// you know the drillILI9341_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 dispalyDisplay.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 touchTouch.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 reliablebool SDStatus = sd.begin(SD_CS, SD_SCK_MHZ(20));//bool SDStatus = sd.begin(SD_CS);// test SD and write somethingif (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 displayDisplay.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 differentBtnX = 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);}}

C**R

Works fine once you get past a few gotchas

Let 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.

J**N

Solid. Does what it’s expected to.

Work as expected. Great for little projects.

E**R

Cheap but good

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. 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.

P**L

Nice bright display - easy to get working

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 server.The instructions provided by HiLetgo on Amazon for the ESP8266 https://smile.amazon.com/gp/product/B010N1SPRK got me going very quickly, the only part I had to change was step 3 where it said use: esp8266com_index.json. This URL periodically seems to go off line, and was unavailable when I was setting up, so instead I downloaded the source, and used that locally.I also added an oled display from HiLetgo and ran an example sketch to display wifi networks.The idea is to use the TFT display to show the time, while the oled display will show the alarm time(s).It as very easy to wire up the hardware and get the examples running - now just need to spend some time writing the software.As all three items are running from the 3.3 volt supply, I bridged the J1 connector with a blob of solder, which bypasses the onboard regulator. I started running from an external supply, but the whole thing only seems to be drawing 150mA and the onboard regulator is spec'd at 800mA so now for development I am running it all from the USB power, the regulator is barely warm!

H**R

This is my go to display for prototyping

I 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?"

M**E

Works excellent.

Works great. We use it to monitor inserts in a mold. If operator forgets to put insert in mold screen lights up red pinpointing where they left one out. We are not using the touchscreen for this application but have no reason to doubt it would work as intended.

B**.

Get capacitive if you're serious

Touch is dodgy

Common Questions

Trustpilot

TrustScore 4.5 | 7,300+ reviews

Anita G.

Good experience, but the tracking updates could be better.

2 months ago

Sneha T.

Received my product in pristine condition. Great service overall.

1 month ago

Shop Global, Save with Desertcart
Value for Money
Competitive prices on a vast range of products
Shop Globally
Serving millions of shoppers across more than 100 countries
Enhanced Protection
Trusted payment options loved by worldwide shoppers
Customer Assurance
Trusted payment options loved by worldwide shoppers.
Desertcart App
Shop on the go, anytime, anywhere.
SAR 108

Duties & taxes incl.

KSAstore
1
Free Shipping

with PRO Membership

Delivery Partners: SMSA, iMile

Free Returns

30 daysfor PRO membership users

15 dayswithout membership

Secure Transaction
12 interest-free installments with tabby

Trustpilot

TrustScore 4.5 | 7,300+ reviews

Ali H.

Fast shipping and excellent packaging. The Leatherman tool feels very premium and sturdy.

1 day ago

Sneha T.

Received my product in pristine condition. Great service overall.

1 month ago

Hiletgo Ili9341 2 8 Spi Tft Lcd Display Touch Panel | Desertcart KSA