How can I fix this? Can you explain please step by step, where to click, what to do, without assuming I already know stuff?hehehe, please, I’m a total newbie.
Just FYI, the code expects that you have an SD card inserted into the LilyGO T-Dongle S3 board with the converter movie files (essentially .mjpeg files, frame by frame), as is generated by
Thanks! Indeed, I converted the test video before, but when I uploaded the sketch to the board, still nothing happens, just a black screen (lit, but black).
I thought that perhaps the USB stick was faulty, but reloaded the factory firmware and works fine, displaying the Lilygo logo and featuring the color changing LED in the back.
FYI, and just to clarify, the dongle model I’m using is this:
I also tried other sketches, even from Arduino IDE, like the Hello World! one, but all of them have the same result, a black (but lit) screen and nothing else. Is there more info around there about this specific usb stick? since most tutorials in the web are for the other bigger models. I precisely need this size of display, and if I’m not able to display videos, at least I would like to be able to display text or graphics. Am I missing something? Also tried both from Windows and Ubuntu, in both systems, with both Visual Studio Code and Arduino IDE, and is kind of driving me nuts.
Sorry, I did not look at that, nor thought about making a monitor. I know the device (at least internally) works because I did a Hello World! sketch in Arduino IDE, and when monitored, the terminal showed the message (but not the USB stick display) The sketch I used was this:
2
3
4
5
6
7
8 voidsetup() {
Serial.begin(115200);
}
voidloop() {
Serial.println("Hello World");
delay(2000);
}
That is why I want to know at least how to make this thing display stuff on the 0.96" screen, as with the Lilygo firmware demo, did I miss also something with the Hello World! sketch?
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.
That is pretty odd, and I don’t get a thing about this.
Got some progress, less error messages in Visual Studio code:
Executing task in folder TFT: platformio run
Processing ESP32-S3-DevKitC-1 (platform: espressif32; board: esp32-s3-devkitc-1; framework: arduino)
-----------------------------------------------------------------------------------------------------------
Tool Manager: Installing git+https://github.com/espressif/arduino-esp32.git#2.0.5
UserSideException: Please install Git client from https://git-scm.com/downloads
* The terminal process "platformio 'run'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
I am trying to install git client and check if that fixes the issue.
You’re expected to have Git installed as one of the basic tools of a programmer. It pulls the exact Arduino-ESP32 2.0.5 via git. The link will guide you. Make sure to chose to add Git to the %PATH when going through the installation wizard.
========================================== [FAILED] Took 8.42 seconds ==========================================
* The terminal process "platformio 'run'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
It seems it asks for more stuff as more stuff is added, hahahaha, or maybe it is just me. Thanks!
And FYI, it should compile in the Arduino IDE too, when you have the esp32 2.0.17 core installed (Boards sidebar → esp32) and you copy over all the libraries from the “T-Dongle-S3” repo’s lib/ folder into your C:\Users\<user>\Documents\Arduino\libraries folder.
Thanks again! The build was a success, however, when I upload the sketch into the stick, the screen is still black (backlighted) and the only thing on is the PCB LED.