TFT with a strange driver

Hi. I recently bought a TFT LCD Shield from AliExpress: TFT. In the photo the driver is HX8352B but mine is HX8352A. So when I load a program to the arduino, it shows only the white screen. I tried the touch funcion and it's working. I have and Arduino Mega wich supose to be compatible with this Shield.

Thanks so much!

Thanks for the photo. It looks like an OPEN-SMART shield even though the photos do not say Open Smart.

  1. Install MCUFRIEND_kbv and Adafruit_GFX via the IDE Library Manager.

  2. Edit the following files:

MCUFRIEND_kbv.cpp: #define SUPPORT_8352A utility/mcufriend_shield.h: #define USE_SPECIAL utility/mcufriend_special.h: #define USE_OPENSMART_SHIELD_PINOUT

  1. How do you know that it is HX8352A and not HX8352B ?


So the TFT display says OPEN-SMART and in the back it says the driver version.

I'll try what you said to me

Thanks! and sorry for the PM :/

Edit: Thanks so much! Now all is working!

Someone else had an Open-Smart HX8352A. But that one had Open-Smart printed on the pcb.

Please let me know how you get on.

The important tip to NOT install anything from Open-Smart. They just hacked an obsolete version of my library.

I would be quite happy if (a) they asked and (b) they used an up to date library. Open-Smart have done neither.


I tried that library but it wasn`t working, thanks for the advice! One more thing, I have an Arduino Mega, Is possible to make it faster displaying things in the LCD?


No. The wiring suits a Uno. It will always be slow on a Mega.

The Open-Smart design “looks” as if it makes better use of the GPIO pins than say Mcufriend e.g. I2C bus is available on the Uno.

However there are minor conflicts when the TFT data bus shares pins with the hardware SPI bus.

In practice. If you have a Mega2560, buy a Mega2560 shield. These have the data bus on PORTA (and PORTC). And work faster than Uno.


I have a 40 pin shield for Arduino mega. Will it need a lot of wiring? If the answer is yes, I prefer less wires but a little slower, it more practical to use it without any wires. But if it only need some wire it would be interesting.


I also have a 2.4" TFT from MCU with a strange ID . ID =0X1 Unable to find it in the currently supports UNO shields with

Do someone have a solution or idea about ?

Or do I have to start a new post for it ?

Thanks , Marco

I have no idea which manufacturer or model. I do not own this shield.

0x0001 is supported by the current Beta on GitHub. It is a ILI9320 style controller. Other readers report that it works ok.


Thanks a lot , David . I will try the ILI9320.

Best regards and have a nice day , Marco

If you don't want to install the Beta.

It is simple enough to edit the v2.9.8 Release from the Library Manager:

Edit MCUFRIEND_kbv.cpp. Search for case 0x9320: and amend it to say:

    case 0x0001:
        _lcd_capable = 0 | REV_SCREEN | INVERT_GS; //no RGB bug. thanks Ivo_Deshev
        goto common_9320;
    case 0x5408:
        _lcd_capable = 0 | REV_SCREEN | READ_BGR; //Red 2.4" thanks jorgenv, Ardlab_Gent
//        _lcd_capable = 0 | REV_SCREEN | READ_BGR | INVERT_GS; //Blue 2.8" might be different
        goto common_9320;
    case 0x1505:                //R61505 thanks Ravi_kanchan2004. R61505V, R61505W different
    case 0x9320:
        _lcd_capable = 0 | REV_SCREEN | READ_BGR;
        static const uint16_t ILI9320_regValues[] PROGMEM = {