Shopping Cart

Your cart is empty.

Your cart is empty.

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

Free shipping on orders over $29.99

$16.39

$ 7 .99 $7.99

In Stock
  • 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


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.


Elenoir
Reviewed in the United States on September 9, 2024
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.
Charles M. Ihler
Reviewed in the United States on September 18, 2022
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.
honey the monster
Reviewed in the United States on May 13, 2022
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?"
rdagger
Reviewed in the United States on May 21, 2020
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.
Kris Kasprzak
Reviewed in the United States on June 9, 2018
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 from the PJRC--and this lib is very fast connect directly2. for touch use "UTouch.h"3. for SD I use 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 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 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 // touch driver for a TFT display#include #include #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 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); }}
Andy
Reviewed in the United States on October 27, 2018
This 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 MOSISCK is the ClockLED ties to VCC (3.3v)MISO is MISOThe Touch Screen is simplerThe SD Card slot need to have posts solderedOtherwise, very good value. Works great. Use the Adafruit ILI9341 library for the LCD.Use the Adafruit STMPE610 for the touchscreenUse the SD library for the SD card