Updating text Using u8x8 Library for OLED

I haven't been able to find any examples on how to simply update text on the display screen of a 128x64 OLED using the u8x8 library.

Here's my code:

void setup() {

  u8x8.begin();
  u8x8.setPowerSave(0);

void LCDWrite()
{

  u8x8.setFont(u8x8_font_px437wyse700a_2x2_r);
  u8x8.drawString(0,1,"PHASE3");
  u8x8.setInverseFont(1);
  //   // *Display results of the keySelect() to the Oled
  //   // There are 12 integers returned from keySelect(), numbered 0-11.
  //   // Convert the 12 integer value of keySelect() to correspond to each key in music notation:
  char *keys[] = {"Am/C", "A#m/C#", "Bm/D", "Cm/D#", "C#m/E", "Dm/F", "D#m/F#", "Em/G", "Fm/G#", "F#m/A", "Gm/A#", "G#m/B"};

  uint8_t keyPrint = keySelect(); //use keySelect() results to write to LCD
  //   lcd.print(keys[keyPrint]); // since keySelect() returns in int from 0-11
  //   //we can use it to select a char that corresponds to the musical key in the array.
  
  //setFont(u8x8_font_chroma48medium8_r);
  u8x8.drawString(0,3,keys[keyPrint]);
  delay(20);
  u8x8.drawString(0,3,"      "); //this blinks too much

Above, I'm just using space to clear the text, but it blinks too much. Thought there must be a better way to update a value that is controlled by a potentiometer, without creating that blinking effect.

Sincere thanks for any help/advice.
TonyAm

How frequently are you updating the screen ?

The text should be updated whenever the value of the potentiometer changes, real time update of values from the pot. This does happen, but there are text characters that aren't cleared, and remain on screen during subsequent pot readings.

Thanks.

Consider only updating the displayed value when it remains stable, or within a small range of values, for a period of time

Alternatively, only display the value when it has changed by a significant amount

Ok, time based. I have seen code like that. Will give that a try. Thank you.