Improving Character LCD Refresh Rate

Status
Not open for further replies.

dauntless89

Well-known member
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?
 
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
 
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.
 
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.
 
Status
Not open for further replies.
Back
Top