#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_GC9A01A.h>

// Определение пинов
#define TFT_CS D8 // Chip select
#define TFT_DC D2 // Data/command
#define TFT_BL D6 // Backlight control

#define SPI_SPEED 40000000 // 40 МГц

Adafruit_GC9A01A tft = Adafruit_GC9A01A(TFT_CS, TFT_DC, SPI_SPEED);

// Пример небольшого изображения (10x10 пикселей) в формате RGB565
const uint16_t myImage[240 * 240] PROGMEM = {
0x4439,0x4439,0x4439,0x4439,0x4439,0x4439,0x4439,0x4439,0x4439,0x4459,0x4439,0x4439,0x4439,0x4439,0x4439,0x4C39,0x4C39,0x4C39,0x4C39,0x4C39,0x4C39,0x4C59,0x4C59,0x4C59,0x4C59,0x5479,0x5479,0x5479,0x5499,0x549A,0x5C99,0x5CBA,0x64DA,0x64DA,0x64FA,0x6CFA,0x6D1A,0x751A,0x753A,0x751A,0x751A,0x753B,0x7D5B,0x857C,0x8D9C,0x8DBC,0x8DBC,0x8DDC,0x95FC,0x9E1D,0xA65D,0xAE5D,0xAE9E,0xB6BE,0xB6BE,0xB6DE,0xBEFE,0xBEFE,0xBEFF,0xBEFF,0xB6DE,0xAE9E,0xA65D,0x9E3D,0x961D,0x95FD,0x95FD,0x961D,0x95FC,0x95DC,0x8DBC,0x85BC,0x85BC,0x8DBC,0x8DBC,0x8DDC,0x95FD,0x961D,0x9E3D,0xA63E,0xA65E,0xAE9E,0xAEBE,0xBEFF,0xBF1F,0xBF1F,0xB6DE,0xAE9E,0x9E3D,0x95FD,0x8DDC,0x8DDD,0x8DDD,0x8DBD,0x7D7C,0x755C,0x755C,0x753C,0x6D3B,0x6D1B,0x6D1B,0x6D1B,0x6D1B,0x6D1B,0x6D1B,0x6D3B,0x6D1B,0x6D1B,0x6D3C,0x755C,0x859D,0x8DDD,0x8DDD,0x9E3D,0xA67E,0xAE9E,0xAEBE,0xAEBE,0xAE9E,0xAE9E,0xAEBE,0xB6DE,0xBEFE,0xC71E,0xD77F,0xD77F,0xD77F,0xCF5E,0xC71E,0xB6BE,0xAE7E,0xA65D,0x9E3D,0x961D,0x95FD,0x8DDD,0x8DDD,0x8DFD,0x8DFD,0x85BD,0x7D9D,0x755D,0x651C,0x54DC,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CBB,0x4CDC,0x4CBC,0x4CBC,0x4CBC,0x4CBC,0x4CBB,0x4CBB,0x4CBC,0x4CBB,0x4CBB,0x4CBB,0x4CBC,0x4CBC,0x54BC,0x4CBB,0x4CBB,0x4CBC,0x4CBB,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DC,0x54DB,0x4CDB,0x4CBB,0x4CDB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x4CDB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54BB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x5CFB,0x5CFB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x54DB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x5CFB,0x64FB,0x5D1B,0x5D1B,0x5D1B,
0xA349,0xA349,0xA349,0x9B29,0x9B09,0x9B09,0x9B09,0xA32A,0x9B4B,0xA36C,0x9B6C,0x932B,0x9B4B,0x9B6B,0x932A,0x7A88,0x7268,0x82CB,0x8B0C,0x8B2C,0x8B2C,0x8B0C,0x936E,0xA3CF,0xA3EF,0xA3AE,0xA36D,0x930B,0x72CD,0x6B91,0x7413,0x8434,0xA496,0xACD7,0x9474,0x6B91,0x4AAD,0x4ACE,0x52EE,0x6370,0x73D2,0x7C13,0x8454,0x8495,0x634F,0x532F,0x42AC,0x5B0E,0x3A0A,0x426C,0x6350,0x7C14,0x8475,0x8C95,0xA517,0xAD38,0xAD78,0xB599,0xB599,0xBDB9,0xBDD9,0xBDB8,0xBDB8,0xCE1A,0xCE1A,0xC5F9,0xC5D9,0xCDF9,0xCE3A,0xC5F9,0xC5F9,0xC5F9,0xC5D9,0xC5F9,0xCE1A,0xB431,0x9228,0x8A49,0x828A,0xB558,0xAD57,0x9CD5,0x8433,0x2987,0x1927,0x2988,0xAD57,0xCDF9,0xC61B,0xBE1B,0xB5FC,0xB61D,0xB5FC,0xADDC,0xADDC,0xADDC,0xADDC,0xBE1C,0xC63D,0xBDFC,0xBDFC,0xB5FC,0xBE1C,0xBE1C,0xC63C,0xCE5C,0xD67C,0xAD78,0xB598,0x6B2E,0x5A08,0x6207,0x6207,0x6207,0x59E7,0x59E7,0x59E7,0x59C7,0x59E7,0x51C7,0x51C7,0x51C7,0x51C7,0x41A7,0x4229,0x538D,0x53ED,0x5C0E,0x94D2,0xACD3,0xA492,0xA472,0x9C72,0x9C72,0xACF4,0xBD97,0xC4F4,0xAA28,0x734B,0x4BCD,0x43AC,0x32A9,0x19A7,0x29C8,0xB556,0xC5B8,0xC5D8,0xD63A,0xCE1A,0xBD97,0xB536,0xA4D4,0x9C72,0x9410,0x9C72,0xA492,0x7C0F,0xC575,0xC575,0xCDD8,0xD5F9,0xD619,0xCDF9,0xC5FA,0xBDFB,0xBDFB,0xBDDB,0xBDDB,0xBDFC,0xB5FC,0xADFD,0xA5BC,0xA5DD,0xA5FE,0xA5FE,0xA5DE,0xA5DE,0xA5FE,0xA5DE,0x9DBD,0x9DBD,0x9D9D,0x9DBD,0x9DDD,0x9DDD,0x9DDD,0x9DBD,0x9DDD,0x9DFE,0x9DDD,0x9DDD,0x9DFE,0x9DFE,0xA61E,0xA63E,0xA65E,0xAE7F,0xB69F,0xAE9F,0xAE7F,0xA63E,0xA63E,0xA63E,0xAE7F,0xAE5E,0xA65E,0xA65E,0xA63D,0xA63D,0xA65D,0xA63D,0xA63D,0xAE7D,0xA63C,0x4B0C,0x5B6C,0x536C,0x5B8D,0x534C,0x2A28,0x53AE,0x21C7,0x642F,0x5C50,0x5C50,0x5C30,0x5C30,0x5C30,0x5430,0x5430,0x5430,0x5451,0x5451,0x5451,0x5451,0x5471,0x5472,0x5C92,0x5CB3,0x5CB3
};

void setup() {
  Serial.begin(9600);
  tft.begin();

  // Установка яркости подсветки
  pinMode(TFT_BL, OUTPUT);
  digitalWrite(TFT_BL, HIGH); // Включить подсветку

  // Заполнение экрана черным цветом
  tft.fillScreen(GC9A01A_BLACK);

  // Отобразить текст
  tft.setTextColor(GC9A01A_GREEN);
  tft.setTextSize(3);
  tft.setCursor(30, 30); // Установка курсора
  tft.println("Anubiz!");

  delay(1000); // Задержка для отображения текста

  // Отобразить изображение
  displayImage(1, 1, myImage, 240, 240); // Позиция x=10, y=10, размер 10x10
  delay(7000); // Задержка для отображения текста
}

void loop(void) {
  // Вы можете добавить дополнительную логику здесь
}

// Функция для отображения изображения из PROGMEM
void displayImage(int16_t x, int16_t y, const uint16_t *image, int16_t w, int16_t h) {
  for (int16_t j = 0; j < h; j++) {
    for (int16_t i = 0; i < w; i++) {
      // Чтение цвета из PROGMEM
      uint16_t color = pgm_read_word(&(image[j * w + i]));
      tft.drawPixel(x + i, y + j, color);
    }
  }
}


Дополни приложение чтобы было не одно изображение а несколько кадров и из них собиралась анимация