Introduction: My Second Project: Arduino 2.4" TFT

Last time I had a project on 16x2 LCD display. After that I thought, 'it would be awesome if using a color display instead.' When I searched a color display for Arduino UNO, I found there is limitation using UNO:

"Due to the size of the library I do not recommend using it on ATmega328 (Arduino 2009/Uno) and ATmega32U4 (Arduino Leonardo) as they only have 32KB of flash memory."

The details can be found with this link:

To make this project less complicated, I also bought Arduino Mega 2560 finally. : P

This is a 2.4" TFT display with 240x320 resolution that supports both SD card and touch screen. I am so excited and wanna try it as soon as possible.

Step 1: Parts

Step 2: Wiring

For me the requirement in is quite difficult to understand..... Sorry for my stupidity...... : ( Let's find another schematic that is easy to read and here is the link:

A minor mistake is found and here is the amended one. I've also changed the abbreviations to match them with my TFT:

1. Display:

LEDA -> 5V

VCC -> 5V

RD -> 3.3V


DB0->DB7 to pin D37->D30

DB8->DB15 to pin D22->D29

RS -> D38

WR -> D39

CS(pin15) -> D40

RSET-> D41

2. Touch Screen:

Default pin number in example code:


T_CS(pin30) ->D5

T_DIN ->D4


T_IRQ ->D2

3. SD Card:

SD_CLK -> D52

SD_DO -> D50

SD_DIN-> D51

SD_CS -> D53

Step 3: Libraries and Code

We need UFTF library before running the example. Download the library, unzip it and copy to Arduino/libraries:

The examples can be found after restarting Arduino software.

Go to File > Examples > UTFT > Arduino (AVR) > UTFT_Demo_320x240

Thanks for Hennig Karlsen again for the great work! This makes our work much easier! The only thing we have to do is just change the display model and the pins following the instruction. Controllers and display models that this library supported are also listed in the file UTFT_Supported_display_modules_&_controllers.pdf. My TFT display model is ILI9325D_8 and the beginning of the code is as follow:


// Declare which fonts we will be using

extern uint8_t SmallFont[];

// Set the pins to the correct ones for your development shield

// ------------------------------------------------------------

// Arduino Uno / 2009:

// -------------------

// Standard Arduino Uno/2009 shield : ,A5,A4,A3,A2

// DisplayModule Arduino Uno TFT shield : ,A5,A4,A3,A2


/ Arduino Mega:

// -------------------

// Standard Arduino Mega/Due shield : ,38,39,40,41

// CTE TFT LCD/SD Shield for Arduino Mega : ,38,39,40,41


/ Remember to change the model parameter to suit your display module!

UTFT myGLCD(ILI9325D_8,38,39,40,41);

Let's upload the code and see what happens...........

Step 4: Result

Yeah! It shows the demo perfectly! :D

Next time I will try something a little bit complicated. Thanks for watching it. See you.


TheCoffeeDude (author)2015-12-23

Excellent tutorial! Thanks for sharing this.

RafalD1 (author)2015-11-02


Do I need to wire all these things?

DB0->DB7 to pin D37->D30

DB8->DB15 to pin D22->D29

I only want to use display (without touch and card reader). Maybe some wires don't have to be connected?


ARNOs (author)2015-02-16


can you please help me with connecting this screen to the uno board.

thanx in advance

Rookie P (author)ARNOs2015-02-17

you can get the wiring at the end of this pdf file:

ruisantos10 (author)2014-09-25

Thank you for this great tutorial! I have the same TFT, and have been searching for a way to connect it to a Ramps 1.4, to work as a screen for my 3D printer.

Can you tell me if it is possible to use the SD card part of the shield? I've read somewhere that it isn't working, and it seems to me that the IC that would control it is not there, so I think it won't work without that IC.

Keep up the good work! ;)


Very cool! Thanks for including the video!