Const uint8_t asked, how to display an image which may vary?

if the data is not in far memory use memcpy_P to copy the content of the flash memory into SRAM. if it's in far memory us memcpy_PF())

const uint8_t aFlashBitmap[] PROGMEM = {151, 146, 242, 146, 151, 0, 255, 0}; // 8x8 bitmap
const size_t aFlashBitmapSize = sizeof aFlashBitmap;

uint8_t aSRAMBitmap[aFlashBitmapSize];

void setup() {
  Serial.begin(115200); Serial.println();
  
  // load bitmap from Flash into SRAM
  memcpy_P(aSRAMBitmap, aFlashBitmap, aFlashBitmapSize);

  // print the SRAM array
  for (auto &&v : aSRAMBitmap) {Serial.print(v); Serial.write(' ');}
  Serial.println();
}

void loop() {}

Could you explain why you need it in SRAM?

1 Like