Please help! How can I do ESP32-S3 Dongle Hello World?

Hello, I'm completely new into this stuff; recently, I bought the dongle you see in the images, an ESP32-S3 from Lilygo, and have tried to make it work.

I was in a Platformio forum and, since nothing worked, they suggested me to try with Arduino IDE.

The thing to me sounds quite simple, I just want to display graphics (text, lines, or even images) in this thing, but so far, when I upload an sketch, the screen turns black as in the first image and does absolutely nothing; I was thinking that perhaps it was faulty, but if I reupload the factory firmware with the .bat tool from github, it again displays the Lilygo logo and the back LED changes colors as when I bought it.

What should I do, what sketch should I use so it displays...something, text, whatever, on the tiny 0.96" screen? can it be faulty? Just the Hello World! or whatever text to begin with.

As I mentioned, I'm totally new with this, so, if you know of a sketch that really works on this dongle, please explain to me how to make it work.

Thanks!

I don't know if you found their github site or if it is useful.

Not quite...I tried to upload their tft.ino file and I get this:

Arduino: 1.8.19 (Linux), Board: "ESP32-S3-USB-OTG, USB-OTG, UART0 / Hardware CDC, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), None, Disabled"

WARNING: Category 'Sound' in library ESP_I2S is not valid. Setting to 'Uncategorized'
WARNING: Category 'Sensor' in library ESP_NOW is not valid. Setting to 'Uncategorized'
WARNING: Category 'Sound' in library ESP_SR is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library ESP Insights is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library ESP RainMaker is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library TFLite Micro is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library WiFiProv is not valid. Setting to 'Uncategorized'
In file included from /home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.h:94,
                 from /home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:16:
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.c: In function 'void dc_callback(spi_transaction_t*)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
  203 |         #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.c:784:28: note: in expansion of macro 'DC_D'
  784 |   if ((bool)spi_tx->user) {DC_D;}
      |                            ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.c:785:9: note: in expansion of macro 'DC_C'
  785 |   else {DC_C;}
      |         ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_write()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
  247 |         #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:80:5: note: in expansion of macro 'CS_L'
   80 |     CS_L;
      |     ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::begin_nin_write()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
  247 |         #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:92:5: note: in expansion of macro 'CS_L'
   92 |     CS_L;
      |     ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_write()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:106:7: note: in expansion of macro 'CS_H'
  106 |       CS_H;
      |       ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::end_nin_write()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:121:7: note: in expansion of macro 'CS_H'
  121 |       CS_H;
      |       ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::begin_tft_read()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:247:22: error: 'GPIO' was not declared in this scope
  247 |         #define CS_L GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:141:5: note: in expansion of macro 'CS_L'
  141 |     CS_L;
      |     ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::end_tft_read()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:162:7: note: in expansion of macro 'CS_H'
  162 |       CS_H;
      |       ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::writecommand(uint8_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:924:3: note: in expansion of macro 'DC_C'
  924 |   DC_C;
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::writedata(uint8_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:203:22: error: 'GPIO' was not declared in this scope
  203 |         #define DC_D GPIO.out_w1ts = (1 << TFT_DC)//;GPIO.out_w1ts = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:972:3: note: in expansion of macro 'DC_D'
  972 |   DC_D;        // Play safe, but should already be in data mode
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'uint8_t TFT_eSPI::readcommand8(uint8_t, uint8_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:1009:3: note: in expansion of macro 'DC_C'
 1009 |   DC_C; tft_Write_8(0xD9);
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'virtual uint16_t TFT_eSPI::readPixel(int32_t, int32_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:1165:3: note: in expansion of macro 'CS_H'
 1165 |   CS_H;
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::readRectRGB(int32_t, int32_t, int32_t, int32_t, uint8_t*)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:2084:3: note: in expansion of macro 'CS_H'
 2084 |   CS_H;
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::setWindow(int32_t, int32_t, int32_t, int32_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:3303:5: note: in expansion of macro 'DC_C'
 3303 |     DC_C; tft_Write_8(TFT_CASET);
      |     ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'void TFT_eSPI::readAddrWindow(int32_t, int32_t, int32_t, int32_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:3379:3: note: in expansion of macro 'DC_C'
 3379 |   DC_C; tft_Write_8(TFT_CASET);
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp: In member function 'virtual void TFT_eSPI::drawPixel(int32_t, int32_t, uint32_t)':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:3561:7: note: in expansion of macro 'DC_C'
 3561 |       DC_C; tft_Write_8(TFT_CASET);
      |       ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:3568:7: note: in expansion of macro 'DC_C'
 3568 |       DC_C; tft_Write_8(TFT_PASET);
      |       ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:202:22: error: 'GPIO' was not declared in this scope
  202 |         #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/TFT_eSPI.cpp:3574:3: note: in expansion of macro 'DC_C'
 3574 |   DC_C; tft_Write_8(TFT_RAMWR);
      |   ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Extensions/Touch.cpp: In member function 'void TFT_eSPI::begin_touch_read_write()':
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Processors/TFT_eSPI_ESP32_S3.h:248:22: error: 'GPIO' was not declared in this scope
  248 |         #define CS_H GPIO.out_w1ts = (1 << TFT_CS)//;GPIO.out_w1ts = (1 << TFT_CS)
      |                      ^~~~
/home/frankndem/Arduino/libraries/TFT_eSPI_ES32Lab/Extensions/Touch.cpp:20:3: note: in expansion of macro 'CS_H'
   20 |   CS_H; // Just in case it has been left low
      |   ^~~~
exit status 1
Error compiling for board ESP32-S3-USB-OTG.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

But I wanted to know if you guys can help me with getting something displayed in the screen, just some text. Honestly, I'm lost and don't know a thing about this stuff, at least not much. Is it possible to make this dongle work?

Thanks.