// https://forum.arduino.cc/t/issues-drawing-in-a-nokia-5110-lcd-but-only-with-arduino-nano-esp32/1286000

int nokiaFile[] = { // 16x16px
  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
  1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0,
  1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0,
  0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
  0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0,
  1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
  1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
  1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
  0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0,
  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0,
  1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0,
  0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0,
  1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0,
  1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0
};

#include <FastLED.h> // http://fastled.io/docs/files.html

#define ROWS 16 // matrix rows
#define COLS 16 // matrix columns
#define NUMPIX (ROWS * COLS) // the full matrix
#define PIXPIN 5 // Arduino data/digital pin
#define MAXBRIGHT 255 // pixels brightness, 0 - 255 
CRGB pix[NUMPIX]; // create object to control [NUMPIX]

void setup() {
  FastLED.addLeds<WS2812B, PIXPIN, GRB>(pix, NUMPIX);
  FastLED.setBrightness(MAXBRIGHT);
  FastLED.clear(); // clear pixel buffer
  FastLED.show(); // display cleared buffer
}

void loop() {
  nokia();
}

void nokia() {
  int r = random(256), g = random(256), b = random(256);
  for (int i = 0; i < NUMPIX; i++) {
    pix[i] = CRGB(nokiaFile[i] * r, nokiaFile[i] * g, nokiaFile[i] * b);
  }
  FastLED.show();
  delay(250);
}