User Tools

Site Tools


arduino:displays_for_classic_arduinos:1.8_and_1.44_tft_displays_and_classic_arduinos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
arduino:displays_for_classic_arduinos:1.8_and_1.44_tft_displays_and_classic_arduinos [2018/01/28 05:47] – [Ucglib] mithatarduino:displays_for_classic_arduinos:1.8_and_1.44_tft_displays_and_classic_arduinos [2018/01/31 04:55] (current) – [Ucglib] mithat
Line 3: Line 3:
 ===== Summary evaluation ===== ===== Summary evaluation =====
  
-These small 1.8" (160x128) and 1.44" (128x128) TFT displays with ST7735 controllers have been [[https://www.ebay.com/sch/i.html?_odkw=1.8%22+tft+ST7735&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.X1.8%22+tft+display+ST7735.TRS0&_nkw=1.8%22+tft+display+ST7735&_sacat=0|available]] for a while now. They are only slightly more expensive than the very inexpensive [[arduino:displays_for_classic_arduinos:nokia_5110_displays_and_classic_arduinos|Nokia 5110]], and are about the same physical size but offer color and greater DPI.+Small 1.8" (160x128) and 1.44" (128x128) TFT displays with ST7735 controllers have been [[https://www.ebay.com/sch/i.html?_odkw=1.8%22+tft+ST7735&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.X1.8%22+tft+display+ST7735.TRS0&_nkw=1.8%22+tft+display+ST7735&_sacat=0|available]] from Asian suppliers for a while now. They are only slightly more expensive than the very inexpensive [[arduino:displays_for_classic_arduinos:nokia_5110_displays_and_classic_arduinos|Nokia 5110]], and are about the same physical size but offer color and greater DPI.
  
-One of the concerns with with TFT displays is that they are data gluttons, meaning they put a lot of stress on a piddly Uno/Nano/Pro Mini with regards to memory consumption, processing time, and data transfer time. However, it's not unreasonable to hope that a really small TFT display might still be workable, so I cobbled together some tests to see if that might be the case with these little displays. In the tests that follow, I am striving to answer first whether the rendering updates will be fast enough for reasonable use and second whether there will be any memory left to do anything interesting.+One of the concerns with with TFT displays is that they are data gluttons, which means they will put a lot of stress on a piddly Uno/Nano/Pro Mini with regards to memory consumption, processing time, and data transfer time. However, it's not unreasonable to hope that a really small TFT display might still be workable, so I cobbled together some tests to see if that might be the case with these little displays. In the tests that follow, I am striving to answer first whether the rendering updates will be fast enough for reasonable use and second whether there will be any memory left to do anything interesting.
  
 Unfortunately, it looks like none of the available libraries work well enough with the Uno/Nano/Pro Mini to make these displays really appropriate for large text-based content that changes. The Ucglib library with solid font rendering and a 16 MHz processor comes very close though. However, a 3.3V 16 MHz Arduino isn't available, so this means you'll have to complicate things a bit by using level converters. Unfortunately, it looks like none of the available libraries work well enough with the Uno/Nano/Pro Mini to make these displays really appropriate for large text-based content that changes. The Ucglib library with solid font rendering and a 16 MHz processor comes very close though. However, a 3.3V 16 MHz Arduino isn't available, so this means you'll have to complicate things a bit by using level converters.
Line 18: Line 18:
 Oli Kraus' [[https://github.com/olikraus/ucglib/wiki | Ucglib]] is designed to support a range of TFT displays with a common code base. This is the most appealing library for me because of the range of available fonts it has available out of the box.((Be sure to check the licenses for any fonts you use!)) Oli Kraus' [[https://github.com/olikraus/ucglib/wiki | Ucglib]] is designed to support a range of TFT displays with a common code base. This is the most appealing library for me because of the range of available fonts it has available out of the box.((Be sure to check the licenses for any fonts you use!))
  
-I ran two test cases: one using transparent font rendering and the other with solid. In both cases, faster hardware SPI was used over slower software SPI. I ran both test cases with both a 3.3V 8 MHz Pro Mini and a 5V 16 MHz Nano, for a total of four tests.+I ran two test cases: one using solid font rendering and the other with transparent. In both cases, faster hardware SPI was used over slower software SPI. I ran both test cases with both a 3.3V 8 MHz Pro Mini and a 5V 16 MHz Nano, for a total of four tests.
  
 As you can see from the videos, the speed isn't entirely acceptable. I am assuming this is mostly due to the burden placed by the pretty fonts' data. Frame rates with a 16 MHz processor are double those of an 8 Mhz processor (no surprise). Even though the transparent font rendering is technically faster, the solid rendering artifacts are less annoying. As you can see from the videos, the speed isn't entirely acceptable. I am assuming this is mostly due to the burden placed by the pretty fonts' data. Frame rates with a 16 MHz processor are double those of an 8 Mhz processor (no surprise). Even though the transparent font rendering is technically faster, the solid rendering artifacts are less annoying.
Line 34: Line 34:
 === Transparent font rendering === === Transparent font rendering ===
  
-{{youtube>r-LoS60WdmI?560x315&rel=0}}+{{youtube>CgSVboteLI8?560x315&rel=0}}
  
 {{youtube>ALPgbvUr6Ao?560x315&rel=0}} {{youtube>ALPgbvUr6Ao?560x315&rel=0}}
arduino/displays_for_classic_arduinos/1.8_and_1.44_tft_displays_and_classic_arduinos.1517118469.txt.gz · Last modified: 2018/01/28 05:47 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki