Arduino with 1.8" TFT LCD Buffer RAM Overflow

Arduino does not have enough on board RAM to buffer the entire 128x160 pixel display (Part LCD-15143).

The ILTTEK ILI9163C documentation shows the chip has enough on board RAM to buffer the entire display.

However none of the example sketches for the HyperDisplay Arduino library detail how to utilize this on board RAM.

Does anyone know if there have been any updates to the HyperDisplay library or if there are some methods of the library that already accomplish this?

Hi ryanpcarney1,

I’m not sure I fully understand what you’re looking to do here. The HyperDisplay driver we have for the KWH018ST01 display already uses the RAM buffer on the display driver IC so there’s not really a way you would be able to utilize it any further to reduce the memory use on your microcontroller. The basic [Display Test Example will compile for an Uno but if you’re trying to build the buffer and then dump it to the display to reduce lag like we demonstrate in [Example 4 - Buffering HyperDisplay, unfortunately, there is not an example in the library to do that and I’m not sure it would even be possible with this display and the ILI9163C driver IC.](HyperDisplay_KWH018ST01_4WSPI_ArduinoLibrary/examples/Example4_BufferingHyperDisplay/Example4_BufferingHyperDisplay.ino at master · sparkfun/HyperDisplay_KWH018ST01_4WSPI_ArduinoLibrary · GitHub)](HyperDisplay_KWH018ST01_4WSPI_ArduinoLibrary/examples/Example1_DisplayTest/Example1_DisplayTest.ino at master · sparkfun/HyperDisplay_KWH018ST01_4WSPI_ArduinoLibrary · GitHub)

Thank you for the reply.

Based on your input I was able to understand how the libraries interact with the hardware better.

My main goal is to stop the screen flicker as it gets updated every second.

The next feasible solution would to be to add a background color to the character boxes so that as characters get overwritten it appears to be a clean rewrite so that the pixels of each individual character don’t stay on the display.

I tried messing around with the getCharInfo() method in the library but no luck.

Is there possibly an undocumented solution for this?