2.4 inch tft lcd shield mcufriend brands

This note introduces a low-cost Thin Film Transistor (TFT) display to enhance the operation and usefulness of Liquid Crystal Display(LCD) devices. TFT technology controls the pixel element on the glass surface thereby greatly reducing image blurring and improving viewing angles.
The test board chosen for this exercise is the Elegoo Arduino UNO board from the corresponding Super Starter Kit. The kit already has several simple numeric and text displays. The TFT display may perhaps provide better ways to interact in applications.
The controller for the illustrated model of the TFT display is SSD1297.This information is important because the display (owing to its low cost and high popularity) has many different manufacturers who may not leverage the same controller instruction set. The specification of the controller in the coding exercises is examined in the Appendix section of this note.
Of course, the display can be mounted elsewhere and the pins connected to the Arduino directly or indirectly using, for example, a breadboard. Other components can then use the breadboard in lieu of a shield with custom connectors. Of course, without access to such anon-standard or readily available breadboard, it is impossible to illustrate this arrangement in this note.
The output from the diagnostic program, LCD_ID_reading.ino, is shown below:Read Registers on MCUFRIEND UNO shieldcontrollers either read as single 16-bite.g. the ID is at readReg(0)or as a sequence of 8-bit valuesin special locations (first is dummy)reg(0x0000) 97 97ID: ILI9320, ILI9325, ILI9335, ...reg(0x0004) 97 97 97 97Manufacturer IDreg(0x0009) 97 97 97 97 97Status Registerreg(0x000A) 97 97Get Power Modereg(0x000C) 97 97Get Pixel Formatreg(0x0061) 97 97RDID1 HX8347-Greg(0x0062) 97 97RDID2 HX8347-Greg(0x0063) 97 97RDID3 HX8347-Greg(0x0064) 97 97RDID1 HX8347-Areg(0x0065) 97 97RDID2 HX8347-Areg(0x0066) 97 97RDID3 HX8347-Areg(0x0067) 97 97RDID Himax HX8347-Areg(0x0070) 97 97Panel Himax HX8347-Areg(0x00A1) 97 97 97 97 97RD_DDB SSD1963reg(0x00B0) 97 97RGB Interface Signal Controlreg(0x00B4) 97 97Inversion Controlreg(0x00B6) 97 97 97 97 97Display Controlreg(0x00B7) 97 97Entry Mode Setreg(0x00BF) 97 97 97 97 97 97ILI9481, HX8357-Breg(0x00C0) 97 97 97 97 97 97 97 97 97Panel Controlreg(0x00C8) 97 97 97 97 97 97 97 97 97 97 97 97 97GAMMAreg(0x00CC) 97 97Panel Controlreg(0x00D0) 97 97 97Power Controlreg(0x00D2) 97 97 97 97 97NVM Readreg(0x00D3) 97 97 97 97ILI9341, ILI9488reg(0x00D4) 97 97 97 97Novatek IDreg(0x00DA) 97 97RDID1reg(0x00DB) 97 97RDID2reg(0x00DC) 97 97RDID3reg(0x00E0) 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97GAMMA-Preg(0x00E1) 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97GAMMA-Nreg(0x00EF) 97 97 97 97 97 97ILI9327reg(0x00F2) 97 97 97 97 97 97 97 97 97 97 97 97Adjust Control 2reg(0x00F6) 97 97 97 97Interface Control

MCUFRIEND_kbv Library for Uno 2.4, 2.8, 3.5, 3.6, 3.95 inch mcufriend Shields - GitHub - prenticedavid/MCUFRIEND_kbv: MCUFRIEND_kbv Library for Uno 2.4, 2.8, 3.5, 3.6, 3.95 inch mcufriend Shields
It did not respond to tft.begin(0x9329). It might respond to another MIPI controller ID but is probably not worth the effort. I would just ask for a refund and buy a replacement.
It shows an ID 0X9341. All I"ve done with it so far is run the examples in the MCUfriend library. So I can"t tell you too much more without coaching.....much to learn. Cheers.
After some fun with this display, some thoughts occured to me. One being the often mentioned issue of using the majority of pins on the UNO. I evolved to this display after using 16x2"s ,20x4"s , then OLED"s to the Mcufriend shield. One of my projects is to create a display for a tractor to provide a quick reference to
Engine RPM, Oil pressure and Coolent temperature. The rub here is that accurate RPM readings require the use of interrupt on D2 of the UNO. Considering that I would use a mini-pro and wire with wire wrap or dupont jumpers (for testing), can the function be moved off D2 to another pin, using (with modification) the libraries at hand? Or would it be easier to simply use a display that isn"t configured as a shield with SPI interface? Thanks for any advice.
I have the same lcd of the guy from the first post (tunstsk), which is HX8367-A controller (0x6767). Ive already fixed the white screen problem by removing the "//" from the following line :
Those are the pins I"ve used with the Uno using the 2.4" MCUfriend shield. The touch calibration sketch adapted by David Prentice worked for me with that configuration. Once I ran the calibration I was able to use it. I"d check the connections and make sure they agree. I"m by no means an expert, actually just getting started with tft"s David"s post"s above helped me.
Post a photo of the pcb side and a photo of the screen side of your shield. Or just post a link to the Ebay sale. (make sure that the link photos actually match the item on your desk)
If you own a DMM, unplug the shield. You can measure the resistance yourself. Typical pins used are LCD_WR, LCD_RS, LCD_CS and LCD_D0, LCD_D1, LCD_D6, LCD_D7
Post a photo of the pcb side and a photo of the screen side of your shield. Or just post a link to the Ebay sale. (make sure that the link photos actually match the item on your desk)
If you own a DMM, unplug the shield. You can measure the resistance yourself. Typical pins used are LCD_WR, LCD_RS, LCD_CS and LCD_D0, LCD_D1, LCD_D6, LCD_D7

I have one of these TFT LCD shields, but mine is a ILI9335. It has taken me nearly 2 weeks to find a working Library and code for my 9335 driver and I am now setting about creating sketches based around my working Library.
Unfortunately most sellers of these shields (excluding good reputable companies) do not adivise of which Driver is onboard the shield and it becomes difficult to locate a working Library for the driver of the purchased shield.

2)When EOL happens,usually we will get notification from original manufacturer 3-6 months in advance. We prepare another LCD brand solution as replacement for you or recommend you to do last buy if your annual quantity is small or even tool up a new LCD panel if your annual quantity is big.

I bought four MCU Friend 3.5″ TFT shields. And, unfortunately, they have spiraled me into a deep, dark place trying to figure out how to use them. The the documentation consists of a sticker on the antistatic bag, a picture of the shield with a list of 5 different possible LCD drivers, a pinout, and a block of code that supposedly represents the startup code. The unfortunate part is that none of these have been exactly right – they all have errors. This article is a description of the journey to figuring out how to use them.
It also has a picture which says the LCD has one of several different controllers (and after digging in I know for a fact that two of mine were made by Raydium and are not on the list)
And finally a table of pins. Which is interesting as it lists 37 pins when the shield has no where near that number. And it shows the shield as 16-bit interface which it isnt … and it shows some LEDs which aren’t there either.
I bought 4 different shields. One came broken. The other three are all different. When you look at the boards there are two visibly different configurations
The first thing I did was try to use the MCUFRIEND_kbv library to see if the screens worked. The first board identified as ID=0x9403 and did not work. Apparently, the tool just spits out the ID if it doesn’t know it, which it did not.
One of the boards identified as ID=0x6814 worked perfectly, and one had a blue cast to all of the screens. The crazy part is the two boards that identified as ID=0x6814 had different PCBs. According to the comments in the MCUFRIEND_kbv.cpp ID=0x6814 is an RM68140 and ID=9403 is unknown.
Next, I started down the path of trying to figure out what the controllers were by using register reads. David Prentice (the guy who wrote/maintains the MCU Friend_kbv Arduino library) has an absolute ton of responses on the Arduino forum trying to help people figure out what their shield is. He asks them to post the register report from his example program LCD_ID_readnew which is included as an example in the library.
When you look at these LCD controllers they all have some variant of “Read ID” which responds with 1-6 bytes. The basic idea of this program is to look at what bytes are returned to try to identify the controller. Here is an example of what I got when I ran the LCD_ID_readnew program on my shields:
The key thing to see in this output is the register 0x04 which says 54,80,66 which identifies this as a Raydium RM68140 LCD controller. Here is a snapshot from the data sheet.
After digging some more, I decided that it is super ugly out there, as you find that there are a significant number of LCD controllers that are clones, copies, pirated etc… and that they all present themselves differently. And, in hindsight I think that this is the reason that my ILI9341 from the previous article doesnt quite work correctly.
The next thing that I did was try out the startup code that MCUFriend_kbv generates. I used the same technique from PSoC 6 + Segger EmWin + MCUFriend 2.4″ Part 1 and spit out the startup bytes. Here they are:
At this point I have spent a frightening amount of time figuring out how these screens work. Although it has been a good learning experience, I have generally decided that using unknown displays from China with LCD drivers of questionable origin is not worth the pain of trying to sort out the interface. Beyond that:

First, in my opinion, harder items to program like these should have at least some support. References to internet links to recommended libraries would be a good idea. In contacting the seller, the response from the seller of "we can"t provide the link in the mail. and it will be removed by the amazon.com", when asked to provide recommended libraries seems unacceptable. Other sellers have provided links to libraries for similar items when contacting them. In searching for libraries, here"s what I found: a) there was some people indicating problems with getting the board to work; b) the actual manufacturer"s website (mcufriend.com on back of board) doesn"t work (a lot of dead links); c) contacting mcufriend.com on a similar item produced little usable info in their reply (simple library with few features and one example); and d) finally found "SWTFT" libraries - which are a specific "patch" to use the Adafruit graphics library with this specific shield. It works. That"s all I"ll say about that so far. As for the touchcreen part, it "works" but not right. The "SWTFT" touch examples don"t work right (backwards orientation) with not the correct alignment to the screen (needs calibration). That will be a chore because of the bad part --- the touch screen maps out as a irregular quadrilateral -- not a square. While it is possible to get the touchscreen "calibrated" it will take a bit of programming and matrix math to get right. With the experience I"ve had with this so far, I"d stay away from this item, and would only recommended it for the display which has some support.

A while ago I bought this 2.4"" Inch TFT LCD Touch Display Shield for Arduino UNO, but only recently I came up with a project where I could make use of this piece of hardware.
Then, instead of calling the method tft.clor565, a call to the newly created function fixed_color565 made sure that images got displayed correctly from now on..

A 2.4” TFT LCD module consists of a bright backlight (4 white LEDs) and a colourful 240X320 pixels display. It also features individual RGB pixel control giving a much better resolution than the black and white displays. A resistive touch screen comes pre-installed with the module as a bonus and hence you can easily detect your finger presses anywhere on the screen.
The TFT comes with an auto-reset circuit which gets active on every breakout. However, a user can reset the module using this pin also, in case setup is not resetting clean.
The TFT comes with an auto-reset circuit which gets active on every breakout. However, a user can reset the module using this pin also, in case setup is not resetting clean.
Resistive Touch Pins – Y+, X+, Y-, and X- are the 4 resistive touch pins which require analog pins to read and determine touch pins. Their overlay is fixed at the top of the module which makes them electrically separate from the TFT. They can be used is 8-bit as well as SPI mode.
The 2.4” TFT LCD module supports many modes. However, two of them are very popular among users – “SPI mode” and “8-bit mode”. The display contains pins on both sides required for a mode and a user can switch easily between them by simply rewiring the display. It should be noted that only one mode can be used at a time.
A 2.4” TFT module has a very flexible usage. It is compatible with all your DIY projects where you want to add a bright, colourful, and touchscreen enabled display.

The shield is fully assembled, tested, and ready to go. No wiring, no soldering! Simply plug it in and load up the library - you"ll have it running in under 10 minutes!

Im new to Arduino myself but i do have the same screen which works perfect,your problem is probably that the TFT shield is shorting off the top off the arduino usb put something non conductive there and reset. if your still having trouble, try removing the shield and watch each pin as you insert it to make sure they are all inserted in the correct pins, LCD_02 should be in Dig pin 2.

mcufriend LCD Display module TFT 2.4 Inch Screen for Arduino UNO R3 Mega. The shield is fully assembled, tested and ready to go. No wiring, no soldering! Works best with any classic (UNO/Duemilanove/Diecimila). This shield does NOT work with the Mega but its going to be half the speed of the Uno-type boards because of the way the Mega rearranges all the pins (there is no way to get around this!) This shield is not Leonardo-compatible Description: Spice up your project with a beautiful large touchscreen display shield with built in microSD card connection. This TFT display is big (2.4" diagonal) bright (4 white-LED backlight) and colorful (18-bit 262,000 different shades)! 240x320 pixels with individual pixel control. It has way more resolution than a black and white 128x64 display. As a bonus, this display has a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen. Technical Details: 2.4" diagonal LCD TFT display 240x320 resolution, 18-bit (262,000) color spfd5408 controller with built in video RAM buffer 8 bit digital interface, plus 4 control lines Uses digital pins 5-13 and analog 0-3. That means you can use digital pins 2, 3 and analog 4 and 5. Pin 12 is available if not using the microSD Works with any "328 or Mega (Leonardo not supported yet) 5V compatible! Use with 3.3V or 5V logic Onboard 3.3V 300mA LDO regulator 4 white LED backlight. On by default but you can connect the transistor to a digital pin for backlight control 4-wire resistive touch screen
Ms.Josey
Ms.Josey