LCD not working: ITEAD Arduino 2.4''E TFT Touch Shield

Hi Everyone,

I’m trying to get an arduino shield to work with my UNO, what I get right now is a white screen, sign I supposed that the LCD hasn’t been initialized correctly.

The shield is this one:
According to site the shield is the “ITEAD Arduino 2.4’'E TFT Touch Shield” and the LCD controller is the S6D1121.
I started by trying to get it to work with UTFT but have now scaled back trying to simply clear the LCD to a color.
I’m using the sample provided in the product page which has a warning at the top that it is designed for the MEGA, although I don’t see why it shouldn’t work for the UNO. I’ve removed pretty much everything from the sample not related to the LCD (touch/SDcard) to simplify the test case. I’ve attached this sample (lcd_s6D1121.ino).

Other info:

  • because of the large SD card slot this doesn’t quite fit over the type B USB slot but I have pin headers to lift it and have made sure I have good electrical contacts between the pins.
  • this UNO works fine with a number of other LCD shields fine, just not any with the S6D1121.

if anyone else have used this shield/LCD controller and could point me in a direction I could debug what is going one I would greatly appreciate it.


lcd_S6D1121.ino (5.12 KB)

It looks as if the UTFT library supports this controller. So you could try the UTFT examples with the constructor set for ITDB24E_8

I do not have this shield and have not used this controller.

I presume that robotshop have tested their MEGA2560 version of the sketch. Since the Analog and Digital pins of a UNO and a MEGA board behave the same way, the LCD operation should be straightforward.

The SDCard of the <SDFat.h> library expect to use the SPI pins: these are D11, D12, D13 on a UNO and the Shield. So the Touch controller and the SDCard will probably only work on the Uno since these are not SPI pins on a MEGA.


Hi David,

thanks for the reply. I did start by trying to get it to work with UTFT with the controller set to ITDB24E_8, only after failing to get the UTFT examples to work (all with the same behavior of a white screen) did I fallback to trying to get the simpler self contained examples to working.

My past experiences with LCD shields have been pretty straight forward, plug it, run the UTFT examples with the right controller and that is it. This is the only one that is giving me grief, and by coincidence is the most expensive one I've tried so far. I guess I could have a defective shield ...

I wonder if there is something I can use do to validate that the init sequence is executing correctly?

thanks, Tiago

What did you use as constructor() in the UTFT examples? i.e. the control pins.

//UTFT myGLCD(  model,RS,WR,CS,RST,[ALE]);  //assumes that nRD is tied high
UTFT myGLCD(ITDB24E_8,A5,A4,A3,A2);  //assumes that nRD is tied high

// I have called the control pins by their Analog numbers.  A5, A4, ... 
// It is exactly the same as using the digital numbers  D19, D18, ...

Have you tried the SDCard or Touchscreen controller?

The schematic shows you which Uno pins are used as chip select and interrupt.
Note that there is no physical connection to the LCD_RST pin. And the Touch controller has its /CS hard-wired to GND.
Hence the pin assignments in the example sketches that do not seem to do anything. e.g. A2 in the constructor() and the sketch code that refers to RST

Have you asked Robotshop?

My earlier assumption was that the Touch controller and SDCard would share the SPI bus. From examination of the schematic, they are separate. The Robotshop sketch should work as-is on the Uno. Likewise your cut-down sketch.