Monday, 13 May 2013

Cheap Colour TFT with the Arduino

As long as I've been working with Arduinos I've always wanted to use a colour TFT to display stuff but they were always quite expensive, well now I've found a quite cheap one that's relatively easy to programme. Ebay link.

I read a blog article from about using an inexpensive TFT from Ebay (China) it costs about £7 inc. delivery, worth a try. is definitely worth a visit as there are loads of Arduino tutorials to read.

There's already a library available from another site called UTFT.rar, download it and install to your library folder.

The library comes with three fonts, small, large and a seven segment calculator type font, unfortunately the seven segment font doesn't come with a decimal point so when you use it to display floating point numbers with the printNumF command it doesn't display a decimal point just some small random characters.

I contacted the Library author Henning Karlsen and he was very helpful in pointing out information for creating your own fonts and some already created extra fonts.

A couple of things to be aware of though: -
  • The fonts use up memory, quite a lot of memory for the full fonts so be aware.
  • The code includes all the drivers for all the various chipsets, to reduce the memory edit the memorysaver.h file in the UTFT folder and remove the commenting from the lines for the chipset you don't need.  If you don't do this then some examples compile to more than 32K.
  • On the screen I got, using the UTOUCH library from the same site as the screen library, the touch functionality wouldn't work.  I'm in contact with the supplier to try and understand if it's an issue with the screen or the library.
  • There is also an SDcard socket on the back of the PCB but I've not yet tried it out.
The library includes the ability to draw recangles, circles etc and I noticed a new geometery library that will let you draw arcs, pie slices.

Overall I think it's well worth the £7 even if the touch doesn't work although it would be fantastic if it can be made to work.

The memory limitations are a pain when you want to use a large font size but if it's a must then you could look at using a Arduino Mega or the Chipkit Uno equivalents, I beleive they have more memory to play with.

Finally, some pictures for the TFT, I've modified my Chronograph code to run with the TFT screen, the only issue is the lack of a decimal point in the seven segment font but I should be able to modify the font source to add one.

I've also started work on a shield for the UNO so that it can be plugged directly on top and also included five switches along the bottom, using a resistor ladder network so they only use up one analogue input.
If anyone interested in a shield then just let me know in the comments.


.Lu. said...

Good night, do not notice the error, because I used the google translator.

I am Brazilian, and I found your blog by searching on the TFT display 3.2.
I'm looking for the day, a way to connect the TFT Arduino UNO.

I'm doing a job at the university, but I'm still beginner.

Could you pass me the necessary modifications to be made in the library, and what the connection pins of the display for one?

I thank you, hope you can help me.

Thank you.

.Lu. said...

If you help us.

Follow my email:

luanna.andrades @

Gadjet said...

If you look in the links in the post you will find the connection details, if your screen is not the same then you can usually Google for the details.
Have you Google using the model of the display?

.Lu. said...

Gadget Hello, I found how to connect, just link in your post.
Specifically this link:
And use the library UTFT everything correctly.
But I'm finding bugs now that I do not know to solve.

The link below (page Brazil) I report the errors found.
If you can look, and you know to solve, please help me.

Gadjet said...

After a quick look I think your display is using a different chipset than the one on my blog you are using a display with SSD1289 driver chip, I don't think the code for my lcd will work with your lcd.

Gadjet said...

After another look, you cannot use the code from my blog with that display, it is completely different.

There is sample code for the display on the page link, the first one, you placed on your blog.

Hot water control using a Raspberry Pi Zero W

Following on from the first blog about the hot water heating control here's what I put together for the mounting. Whilst looking for a...

Popular Posts