Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Improving Character LCD Refresh Rate

  1. #1
    Member dauntless89's Avatar
    Join Date
    Jun 2017
    Location
    Cedar City, UT
    Posts
    50

    Improving Character LCD Refresh Rate

    I'm using several of these types of character LCDs in various pieces of gadgetry:

    https://www.adafruit.com/product/198

    I like them because they are inexpensive, easy, and a useful size. The one issue I have is the slow effective update rate. I've found that attempting to draw to them faster than about 4hz renders the updating characters essentially unreadable, particularly if the value is changing at such a rate that a character is being updated every refresh. I've experimented with controlling them using various breakouts and backpacks over SPI and I2C with various speeds. Is this just a limitation of the technology in the screens, or is there a way to optimize them for faster updating?

  2. #2
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    1,788
    I tend to blame the old HD44780 LCD controller and the cheapo pixel LCD panels for that. The Teensy 3.x and other modern 32bit MCUs can do marvellous things at >30fps with more modern Color TFT LCDs and OLED displays which are also driven by recent controller ICs

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    18,153
    Quote Originally Posted by dauntless89 View Post
    Is this just a limitation of the technology in the screens
    Yes. Those types are physically very slow. Nothing you can do in software will change that hardware.


    I like them because they are inexpensive, easy, and a useful size.
    The size isn't the same, but you might consider a color TFT is about the same price and requires fewer wires.

    https://www.pjrc.com/store/display_ili9341_touch.html

    The TFTs aren't incredibly fast, but usually they can manage about 5-10 Hz changes before showing just a blur. For high speed you really need OLED, which is quite expensive for anything other than a tiny size.

  4. #4
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    2,772
    Quote Originally Posted by PaulStoffregen View Post
    Yes. Those types are physically very slow. Nothing you can do in software will change that hardware.




    The size isn't the same, but you might consider a color TFT is about the same price and requires fewer wires.

    https://www.pjrc.com/store/display_ili9341_touch.html

    The TFTs aren't incredibly fast, but usually they can manage about 5-10 Hz changes before showing just a blur. For high speed you really need OLED, which is quite expensive for anything other than a tiny size.
    I've played around with both the 128x128 TFT displays and the OLED displays with the uncanny eyes program. Now, these are much smaller than the 9341 displays, but from my findings:

    I can drive the TFT displays with a Teensy 3.5 with a CPU bus speed of 168Mhz and a SPI bus speed of 24Mhz. I think I could also run it on the Teensy 3.6 at its maximum speed, but I haven't used the 3.6 in a bit. The uncanny eyes program uses the DMA architecture and requires the dedicated CS/DC pins.

    However, the OLED display, I have to set the CPU and/or SPI speed to be lower. Originally I found I could set the bus speed low and it would work (using DMA and dedicated CS/DC pins). I experimented and found that for the Adafruit OLED displays, if I set the SPI bus speed to 8Mhz, it would work on the Teensy 3.5. Other OLED displays, I could set the SPI bus speed to 11Mhz before it would start glitching. A year or so ago, I was able to run the Teensy 3.2, but now something is glitching, and I can't run the 3.2 on any combination of CPU and SPI speeds.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •