Go Down

Topic: mcufriend 2.8 inch TFT LCD display issues (Read 101380 times) previous topic - next topic



I'm yet another complete newbie to the Arduino and to too many of the things involved here, finding myself lost trying to make the various libraries work with a 2.4" LCD mounted on a shield that names mcufriend.com.  My particular shield is for Arduino Uno R3.

When running graphicstest, I get the serial output identifying the chip as 154, along with all the test output, but nothing happens on the lcd.  I'm hoping that the code already exists to deal with 154 (as volsoft appears to have identified), but when I try to run the various libraries that everyone posts, I find that they will not compile, and when I run libraries that work with my Arduino 1.6.0 IDE environment, they don't appear to handle the 154. 

It would be incredibly helpful to me if someone could point to what lines in what libraries branch and handle operations when the "154" is detected.  Among other things, I'm unclear on the difference between the ino files and the cpp/h files.  I assume that "Verify" is "compile and link" but I'm so lost in this new environment I don't have a clue where to begin when getting failures to compile, and I'm guessing my best bet would be to look at a complete environment that someone vouches works and then, rather than try to get that to work in my standard arduino ide environment, instead move the code modifications from "known working with the 154" to "known working in my IDE, "line by line if necessary.  That at least gives me a starting point.

Thanks in advance for any replies, pointers, or reference suggestions. 


I purchased on of the TFT LCD's from mcufriend.com and had some fun playing with it.  Thought I'd post some stuff I found out so far just to let others know...  1) I have the touch function, Graphics, and text all working separately using files I downloaded externally (available on demand).  When I try to run the graphics and touch functions together they don't work mostly because the cpu is off doing graphics and is unavailable to service the touchpad.  I did have problems getting the sketches to work together since they both expected the same pins to do different things from my uno.  I don't know how I did it, but i did manage to merge the two sketches and it ran w/o errors. The only problem was the servicing of the touchpad function I described before.  As for the text I have found the the text shows up as a mirror image on the display.  The library has a rotate function but all it does is change it from portrait to landscape etc.. So thats my next challenge.  Just wanted to say I bought the display for about $7 and have spent a number of hours playing with it.  So in my opinion it was worth the price.  I suggest you take a look at www.wish.com and do a keyword search for arduino to see what I've seen.  Lots of toys for real cheap.  Down side is long turnaround time (up to a month or more) but for a hobby it hasn't been beat.... (no I am not plugging the site) anyhow, great to meet ya since I'm new to this area.  If you want more info just ask and I'll gladly share.


Hi every one .
I bought 2.8 TFT LCD Shield and i don't know how determined the type of Controller  :(  .

I'm try use many more Library without any result  :(  .
there is some library Loaded in Arduino , library from Adafruit-GFX  , serial monitor find LCD Identifier is 139 ! !
Does this mean it's working but it's not realizes the type of controller ??
There is something caught my attention the shield does't have any ICs like all shield i see during my search !!

i attach photo to the LCD shield >
Can any one help me  :)  ?


Mar 20, 2015, 02:30 pm Last Edit: Mar 20, 2015, 02:35 pm by samuraijap
It looks like a apparently S6D0139.



I've been able to get the graphics to work with the LCD, but no luck with the touch screen, have tried different combinations of input pins but not usable results, any ideas?



does this display also work together with ethernet shield & SD-card?

arduino uno R3 1.024; dht22; Conrad relaiskarte; 20x4 hitachi auf rgb-shield mit 2 wires only


I don't think so. I uses a lot of pins... But check which are used and which are free.


Hay maby a little late but try this


download the "MCUfried TFT UNO y MEGA libraries.zip" on buhosofts post worked for me.
just take the files out of the folder like a normal library.


I've posted on another thread my experience of getting the mcufriend 2.8 TFT working using the st7783 library mentioned in the OP.

As well as the "touch screen is reversed" problem, my display had very poor contrast.  Every other row of pixels was white.  There are patches to the TFTLCD.cpp file which fixed this.
Hackscribble.  Writing about making things.
arduino@hackscribble.com | www.hackscribble.com


Hi guys did anyone get the screen to work first time with straight forward instructions?
Just purchased


And yes I also have a white screen :(

I have only started to play around with arduino's for the past year so am a novice.

Thank you.


Download the MCUFRIEND_kbv library attached to this thread: https://forum.arduino.cc/index.php?topic=337473.msg2373456#msg2373456

Then run the LCD_ID_readreg.ino sketch and observe the output on the Serial terminal at 9600 baud.

Copy-paste the output and post it here.



Hi David.
Here is the result:-

Read Registers on MCUFRIEND UNO shield
controllers either read as single 16-bit
e.g. the ID is at readReg(0)
or as a sequence of 8-bit values
in special locations (first is dummy)

reg (0x0000) B5 05         ILI9320,  ILI9325,  ILI9335, ...
reg (0x0004) 00 00 00 00 Manufacturer ID
reg (0x00BF) 00 00 00 00 00 00   ILI9481
reg (0x00D0) 00 00         HX8357
reg (0x00D3) 00 00 00 00 ILI9341, ILI9488
reg (0x00EF) 00 02 00 02 00 02   ILI9327

Thank you.


You have an R61509V controller with a 240x400  screen.

Does it have 61509 marked on the pcb with a black rubber stamp?

Everything should work.   But vertical scroll looks odd because the "unused" GRAM comes into view.



It does not have any rubber stamp on it except printed white 2.8 TFT LCD Sheild (61505v) - plus www.mcufriend.com



Nov 14, 2015, 09:34 pm Last Edit: Nov 14, 2015, 09:35 pm by david_prentice
Oops.  I misread your message.   It is a R61505V with a 240x320 display and not a R61509V.   And an even bigger clue is the (61505v) printed on the pcb.

My library does not directly support the R61505V but it is very similar to the ILI9325.    So it is worth just trying:
Code: [Select]

void setup(void) {
    g_identifier = tft.readID();
    Serial.print("readID = 0x");
    Serial.println(g_identifier, HEX);
    if (g_identifier == 0xB505) g_identifier = 0x9325;

Please let me know how you get on.    If several people have this controller,  I will add specific support.   i.e. if you report the results of any sketches.   The data sheet is absolutely horrible to read.


Go Up