TFT Display with atmega32

Go To Last Post
16 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello Everyone;

                      I am starting a new project which requires a tft display of 5 inches, but I am not able to search a proper document regarding this. Please suggest me a tft display which can work with AVR Micro-controllers like: Atmega32,1284 which can work with UART or SPI protocol and also have a inbuilt controller which can reduce the load for main controller. Please suggest.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Please suggest

I suggest Digikey...you can set all of the parameters to your liking, to at least get some starting ideas. 

 

https://www.digikey.com/products/en/optoelectronics/display-modules-lcd-oled-graphic/107?k=lcd

When in the dark remember-the future looks brighter than ever.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What do you plan to do with the display? Is it just a fairly fixed user interface? Or to show pictures? Or even to show moving pictures? Certainly for the latter you probably want an AVR with plenty of RAM.
.
Talking of which, 5" sounds large for an AVR. Unless the pixels are physically huge you might be taking 640x480 or even 1024x768. Even at 640x480 a mono buffer is 38K

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TFT's can certainly be made to work for AVR's, but in my opinion an AVR is not fast enough to do any "decent" amount  of animation.

But for static pictures, some menu's and maybe some big digits for displaying meausrement data it can be "acceptable".

 

Watch some Youtube demo's of TFT's with "arduino".

The "arduino" code can be made to be almost 2x as fast just by taking out the "digitalWrite()" for LCD's write pulse.

 

Personally I just skipped the AVR's for TFT stuff and decided to use something faster like Xmega's or Cortex-m3.

It's the difference between "vidibly annoyingly slow" to "snappy".

 

Ali / Ebay / China is full with the TFT displays they want to get rid of for small prices.

But they need a fair amount of homework to be done by yourself.

I know of at least 2 libraries for these display's: The AdaFruit TFT library and RinkyDink's uTFT.

 

When showing pictures and stuff, a small uC quickly runs out of resources. That is why often external storage in the form of  a dataflash chip or uSD is added.

The Ali / Ebay / China display's ofthen have a connector for uSD cards on the back.

 

Another route is displays with a built in uC for handling menu's etc.

You only have to tell these displays which menu or picture you want to see and they will draw it on the screen autonomously.

These displays usually come with PC software to design those menu/s pictures, but these are more expensive, and the software probably does not work under Linux.

https://www.matrixorbital.com/matrix-orbital  is one of the manufacturers of such displays.

 

Octopart is a search engine for electronics related stuff, and can also compare prices from Digikey / Farnell / Mouser / etc.

https://www.octopart.com/search?q=tft%20display&start=0

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Thu. Apr 5, 2018 - 08:25 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

TFT displays are normally classed by pixel resolution in horizontal and vertical numbers, such as 320x240.  Then there is a diagonal size number in inches, such as 2.4.

 

What is your project?  Is it commercial application that will sell in thousands of units?  Is it a school project? or is it a home/hobbyist one-of-a-kind custom application?   Why does this project require a TFT display of 5 inches?  Are you displaying a screen full of data or virtual dial indicators? 

 

There are two ways to do this TFT thing.  One is to do what all the other guys here suggest doing.  This is the hard way and it will work, eventually, because they know what they are doing, even if you're not sure about what you are doing.  Excuse me if I get that impression.  It happens when people mention 5 inch TFT displays and AVR mega32s in the same sentence.

 

If you're new to TFTs with large expensive displays and microcontrollers, allow me to suggest an easier way.  Buy an Arduino UNO clone on eBay for $5 US and a few inexpensive common small TFT displays.  There are two types: one uses SPI and can be attached to an Arduino Nano, Leonardo, UNO, and Pro Mini using eight wires, and the other is a parallel-port-based TFT that uses nearly all the port pins on the Arduino UNO.  These parallel port TFTs usually come with a built-in touch screen.  I suggest getting a 160x128 2.2" TFT based on an ST7735r controller. using an SPI interface. They cost about $4 US on eBay.  Download the Adafruit library for this part and all the demonstration sketch code that you can find.    You have a very good chance of getting this TFT development platform working quickly.   Try also a parallel-port UNO-based TFT display:  I suggest a 320x240 2.4" with an ILI9241 controller. (it may be ILI9341, whatever).  It's important with a parallel-port UNO TFT that you know exactly which controller it is using.  Download the MCUFRIEND library by David Prentice to test it.  Study and "play with" the demo test code examples.    This is cheap and easy way to become experienced with TFT graphics display programming.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello Everyone;

                       Thanks all to reply..

I am going to display the menu and some data in tft display. Images are not required. Please suggest me this much can we do with the avr??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Again what is the pixel resolution? Your mention of 5" does seem to suggest 640x480 or 1024x768 or are you really just talking about 320x240 or similar? Pythagoras tells us that a 5" diagonal suggests a screen that is 3" by 4". At a typical (low resolution) LCD pixel density of 200 dots per inch that roughly suggests 600 by 800. At higher pixel density like 300dpi you are talking about even more dots.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for reply.

 I am new to tft. I donot need higher pixels 640x480 will be ok.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Abhay02 wrote:
 I am new to tft. 

But TFTs are not new, and connecting them to AVRs is not new; so, as  Paulvdh and Simonetta suggested, there are plenty of examples - including YouTube videos - available on the interwebs ...

 

EDIT: it is also a frequently recurring topic on this very forum - so try searching for past threads.

 

Why not start on an Arduino?

 

Paulvdh wrote:
I just skipped the AVR's for TFT stuff and decided to use something faster like Xmega's or Cortex-m3.

As clawson said, it's not (just) processor speed - the other Big Issue is the amoutn of RAM available ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Fri. Apr 6, 2018 - 11:50 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have one product which have many features and I want to add tft in that product. That product works on AVR.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So you have to consider whether that (unspecified) AVR has the capacity to support all those existing "many features" and add handling an LCD.

 

As the designer, this is your job.

 

If the answer is, "No" - then you have basically 2 choices:

 

  1. Change to another processor which does have the capacity;
     
  2. Add a 2nd processor to manage the display
    (as already noted, some "intelligent" display modules are available with this processor already built in).

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I say STN, mono LCD tend to be about 50 to 200dpi so the dot resolution is likely tied to the physical size. AVRs often drive GLCD panels that are 128x64. Such a display is maybe 3" by 2" so has a diagonal of maybe 3.5". You were talking about 5" (diagonal) which suggests considerably more pixels which may well be more than it is comfortable for an AVR to handle. From about 640x480 and up to much higher pixel resolutions and higher physical sizes it becomes more usual to use micros that have specialised DMA controllers that can handle all the horizontal and vertical timing signals involved in driving such panels (all modern mobile phones for example have such dedicated LCD controller peripherals). It's true you can buy some LCD modules that have fairly sophisticated controllers (and large RAM buffers) built in so the driving micro does not have to be too high performance but as the pixels go up there's always going to be the question of the bandwidth available to get all the display items on the screen in a timely fashion so there comes a point at which a 16MHz/20MHz 8 bit CPU just isn't going fast enough.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

https://www.raspberrypi.org/products/raspberry-pi-zero/

Video Outputs

by lady ada

The Raspberry Pi chipset was originally designed to be a HDMI/graphics co-processor for mobile devices. For that reason, it has quite a bit of 'HDMI horsepower' and can, despite it's small size, play 1080p video at full screen.

 

The raspi Zero is an < USD10  800MHz or so Linux computer with an HDMI output for video with plenty of resolution.

In these strange days & times it is not such a strange idea to use it as a "graphics accellerator" for an AVR uC.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Please suggest me some display which comes with inbuilt processors.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

 

Take a look at 4D systems

https://www.4dsystems.com.au/products

 

also, alibaba has many

 

Do you need color?  If monochrome, you will save a ton of memory (1 bit per pixel, vs up to 24 bits per pixel) which will make it much more possible to drive with a mega chip, especially if the lcd has a row/column driver.

When in the dark remember-the future looks brighter than ever.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have been given many suggestions for ways to find more info and it seems that "we" have put more effort into helping you than you have yourself.

Most of your posts are single line questions for more info.

If you want more info, then do a bit of research yourself.

The link I posted 2 days ago to octopart in #4 is a good start.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Sat. Apr 7, 2018 - 10:12 PM