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.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.