<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[T display S3 doesnt upload code]]></title><description><![CDATA[<p dir="auto">Hi everyone, so I bought T display S3 (non touch) from lilygo. I tried installing test sketch through Arduino ide and I selected t display s3 in boards. After installing it, it didn't displayed anything and when I wanted to delete that sketch through ESP tool, and COM15 (T display S3) disappeared and appeared very fast, so I flashed it again but I selected ESP32 S3 Dev module board and it stopped blinking, and then I tried again and I got this. Please someone help<br />
<img src="/assets/uploads/files/1716991136504-984ce367-4dff-4d13-912a-9da73fadf4e6-image.png" alt="984ce367-4dff-4d13-912a-9da73fadf4e6-image.png" class=" img-responsive img-markdown" width="532" height="847" /></p>
]]></description><link>https://www.community.lilygo.cc/topic/991/t-display-s3-doesnt-upload-code</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 02:22:03 GMT</lastBuildDate><atom:link href="https://www.community.lilygo.cc/topic/991.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 May 2024 13:59:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to T display S3 doesnt upload code on Thu, 30 May 2024 06:54:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2524">@fartmoney99</a> I used ESP Tool on my chromebook and it installed successfully. Now it works perfectly fine. Case closed</p>
]]></description><link>https://www.community.lilygo.cc/post/1766</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1766</guid><dc:creator><![CDATA[fartmoney99]]></dc:creator><pubDate>Thu, 30 May 2024 06:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Thu, 30 May 2024 04:51:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/612">@teastain2</a> Here</p>
<p dir="auto">#include "Arduino.h"<br />
#include "TFT_eSPI.h"/* Please use the TFT library provided in the library. */<br />
#include &lt;WiFi.h&gt;<br />
#include "time.h"</p>
<p dir="auto">TFT_eSPI lcd = TFT_eSPI();<br />
TFT_eSprite sprite = TFT_eSprite(&amp;lcd);</p>
<p dir="auto">const char* ssid     = "Telia-2E6B1F";<br />
const char* password = "C33E24FCBA";</p>
<p dir="auto">const char* ntpServer = "<a href="http://pool.ntp.org" rel="nofollow ugc">pool.ntp.org</a>";<br />
const long  gmtOffset_sec =3600;<br />
const int   daylightOffset_sec = 3600;</p>
<p dir="auto">int values[24]={0};<br />
int values2[24]={0};<br />
char timeHour[3]="00";<br />
char timeMin[3]="00";<br />
char timeSec[3];</p>
<p dir="auto">char m[12];<br />
char y[5];<br />
char d[3];<br />
char dw[12];</p>
<p dir="auto">int gw=204;<br />
int gh=102;<br />
int gx=110;<br />
int gy=144;<br />
int curent=0;<br />
#define gray 0x6B6D<br />
#define blue 0x0967<br />
#define orange 0xC260<br />
#define purple 0x604D<br />
#define green 0x1AE9</p>
<p dir="auto">int deb=0;</p>
<p dir="auto">int Mode=0;</p>
<p dir="auto">#define RIGHT 14</p>
<p dir="auto">void setup(void)<br />
{</p>
<pre><code>pinMode(RIGHT,INPUT_PULLUP);

Serial.begin(115200);
lcd.init();
lcd.fillScreen(TFT_BLACK);
lcd.setRotation(1);
</code></pre>
<p dir="auto">WiFi.begin(ssid, password);<br />
while (WiFi.status() != WL_CONNECTED) {<br />
delay(500);<br />
Serial.print(".");<br />
}<br />
Serial.println("");<br />
Serial.println("WiFi connected.");<br />
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);</p>
<pre><code>sprite.createSprite(320, 170);
sprite.setTextDatum(3);
sprite.setSwapBytes(true);
values[23]=gh/2;
analogReadResolution(10);
</code></pre>
<p dir="auto">}</p>
<p dir="auto">int counter=0;<br />
int Min=gh/2;<br />
int Max=gh/2;<br />
int average=0;<br />
String minT="";<br />
String maxT="";</p>
<p dir="auto">long lastMillis=0;<br />
int fps=0;</p>
<p dir="auto">void loop()<br />
{<br />
if(digitalRead(RIGHT)==0){</p>
<p dir="auto">if(deb==0)<br />
{Mode++;</p>
<p dir="auto">if(Mode==2)<br />
Mode=0;<br />
deb=1;</p>
<p dir="auto">}}else{deb=0;}</p>
<p dir="auto">fps=1000/(millis()-lastMillis);<br />
lastMillis=millis();</p>
<p dir="auto">average=0;<br />
if(counter==0)<br />
printLocalTime();</p>
<p dir="auto">counter++;<br />
if(counter==50)<br />
counter=0;</p>
<p dir="auto">if(Mode==0){<br />
if(values[23]&gt;12)<br />
curent=random(values[23]-12,values[23]+12);<br />
else<br />
curent=random(1,values[23]+14);</p>
<p dir="auto">if(curent&gt;gh)<br />
curent=random(gh-10,gh);<br />
}<br />
if(Mode==1){<br />
int num=analogRead(44);<br />
curent=map(num,0,1024,0,gh);<br />
}</p>
<p dir="auto">for(int i=0;i&lt;24;i++)<br />
values2[i]=values[i];</p>
<p dir="auto">for(int i=23;i&gt;0;i--)<br />
values[i-1]=values2[i];</p>
<p dir="auto">values[23]=curent;<br />
if(values[23]&gt;Max){<br />
Max=values[23];<br />
maxT=String(timeHour)+":"+String(timeMin)+":"+String(timeSec);}<br />
if(values[23]&lt;Min){<br />
Min=values[23];<br />
minT=String(timeHour)+":"+String(timeMin)+":"+String(timeSec);}</p>
<p dir="auto">for(int i=0;i&lt;24;i++)<br />
average=average+values[i];<br />
average=average/24;</p>
<p dir="auto">sprite.fillSprite(TFT_BLACK);<br />
// sprite.setTextDatum(4);<br />
sprite.setTextColor(TFT_WHITE,blue);<br />
sprite.fillRoundRect(6,5,38,32,4,blue);<br />
sprite.fillRoundRect(52,5,38,32,4,blue);<br />
sprite.fillRoundRect(6,42,80,12,4,blue);<br />
sprite.fillRoundRect(6,82,78,76,4,purple);<br />
sprite.fillRoundRect(6,58,80,18,4,green);<br />
sprite.drawString(String(timeHour),10,24,4);<br />
sprite.drawString(String(timeMin),56,24,4);<br />
sprite.drawString(String(m)+" "+String(d),10,48);<br />
<a href="//sprite.drawString">//sprite.drawString</a>(String(dw)+", "+String(y),10,58);</p>
<p dir="auto"><a href="//sprite.drawString">//sprite.drawString</a>(String(analogRead(18)),gx+160,26);</p>
<p dir="auto">sprite.drawString(String(timeSec),gx-14,14,2);<br />
sprite.setTextColor(TFT_WHITE,purple);<br />
sprite.drawString("CURR: "+String(average),10,92,2);</p>
<p dir="auto">sprite.drawString("MIN: "+String(Min),10,108,2);</p>
<p dir="auto">sprite.drawString("MAX: "+String(Max),10,138,2);</p>
<p dir="auto">sprite.setTextColor(TFT_SILVER,purple);<br />
sprite.drawString(String(maxT),10,152);<br />
sprite.drawString(String(minT),10,122);<br />
sprite.setTextColor(TFT_WHITE,green);<br />
sprite.drawString("SPEED:"+String(fps)+" fps",10,68);<br />
sprite.setTextColor(TFT_YELLOW,TFT_BLACK);<br />
sprite.drawString("ANALOG READINGS",gx+10,16,2);<br />
sprite.drawString("ON PIN 12",gx+10,30);<br />
sprite.setFreeFont();</p>
<p dir="auto">for(int i=1;i&lt;12;i++){<br />
sprite.drawLine(gx+(i<em>17),gy,gx+(i</em>17),gy-gh,gray);<br />
if(i<em>17%34==0)<br />
if(i</em>2&lt;10)<br />
sprite.drawString("0"+String(i<em>2),gx+(i</em>17)-3,gy+8);<br />
else<br />
sprite.drawString(String(i<em>2),gx+(i</em>17)-4,gy+8);<br />
}<br />
for(int i=1;i&lt;6;i++){<br />
sprite.drawLine(gx,gy-(i<em>17),gx+gw,gy-(i</em>17),gray);<br />
sprite.drawString(String(i<em>17),gx-16,gy-(i</em>17));<br />
}</p>
<pre><code>sprite.drawLine(gx,gy,gx+gw,gy,TFT_WHITE);
sprite.drawLine(gx,gy,gx,gy-gh,TFT_WHITE);
</code></pre>
<p dir="auto">for(int i=0;i&lt;23;i++){<br />
sprite.drawLine(gx+(i*17),gy-values[i],gx+((i+1)<em>17),gy-values[i+1],TFT_RED);<br />
sprite.drawLine(gx+(i</em>17),gy-values[i]-1,gx+((i+1)*17),gy-values[i+1]-1,TFT_RED);}</p>
<p dir="auto">sprite.setTextColor(TFT_WHITE,TFT_BLACK);<br />
sprite.drawString("BAT:"+String(analogRead(4)),gx+160,16);<br />
sprite.drawString("MOD:"+String(Mode),gx+160,26);</p>
<p dir="auto">sprite.pushSprite(0,0);<br />
// delay(5);<br />
}</p>
<p dir="auto">void printLocalTime(){<br />
struct tm timeinfo;<br />
if(!getLocalTime(&amp;timeinfo)){<br />
Serial.println("Failed to obtain time");<br />
return;<br />
}</p>
<p dir="auto">strftime(timeHour,3, "%H", &amp;timeinfo);<br />
strftime(timeMin,3, "%M", &amp;timeinfo);<br />
strftime(timeSec,3, "%S", &amp;timeinfo);<br />
strftime(y,5, "%Y", &amp;timeinfo);<br />
strftime(m,12, "%B", &amp;timeinfo);</p>
<p dir="auto">strftime(dw,10, "%A", &amp;timeinfo);</p>
<p dir="auto">strftime(d,3, "%d", &amp;timeinfo);</p>
<p dir="auto">}</p>
]]></description><link>https://www.community.lilygo.cc/post/1765</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1765</guid><dc:creator><![CDATA[fartmoney99]]></dc:creator><pubDate>Thu, 30 May 2024 04:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Thu, 30 May 2024 04:45:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2524">@fartmoney99</a> OK, good progress.<br />
What exact sketch is that?<br />
It appears to have loaded correctly:</p>
<pre><code>Leaving...
Hard resetting via RTS pin...
</code></pre>
<p dir="auto">Is a good sign.</p>
<p dir="auto">Right after this you may need to unplug it from USB and plug it in again to re-start the sketch.<br />
Maybe try my 'Generic_tick_tock_serial_test' sketch with Serial output and no display, then move on to the HotHead sketch.</p>
]]></description><link>https://www.community.lilygo.cc/post/1764</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1764</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Thu, 30 May 2024 04:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Thu, 30 May 2024 03:59:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/612">@teastain2</a></p>
<p dir="auto">(In Arduino IDE)</p>
<p dir="auto">Sketch uses 748665 bytes (23%) of program storage space. Maximum is 3145728 bytes.<br />
Global variables use 45656 bytes (13%) of dynamic memory, leaving 282024 bytes for local variables. Maximum is 327680 bytes.<br />
<a href="http://esptool.py" rel="nofollow ugc">esptool.py</a> v4.5.1<br />
Serial port COM15<br />
Connecting...<br />
Chip is ESP32-S3 (revision v0.2)<br />
Features: WiFi, BLE<br />
Crystal is 40MHz<br />
MAC: f0:f5:bd:43:9c:68<br />
Uploading stub...<br />
Running stub...<br />
Stub running...<br />
Changing baud rate to 921600<br />
Changed.<br />
Configuring flash size...<br />
Flash will be erased from 0x00000000 to 0x00003fff...<br />
Flash will be erased from 0x00008000 to 0x00008fff...<br />
Flash will be erased from 0x0000e000 to 0x0000ffff...<br />
Flash will be erased from 0x00010000 to 0x000c6fff...<br />
Compressed 15104 bytes to 10429...<br />
Writing at 0x00000000... (100 %)<br />
Wrote 15104 bytes (10429 compressed) at 0x00000000 in 0.3 seconds (effective 378.9 kbit/s)...<br />
Hash of data verified.<br />
Compressed 3072 bytes to 144...<br />
Writing at 0x00008000... (100 %)<br />
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.1 seconds (effective 273.8 kbit/s)...<br />
Hash of data verified.<br />
Compressed 8192 bytes to 47...<br />
Writing at 0x0000e000... (100 %)<br />
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 443.1 kbit/s)...<br />
Hash of data verified.<br />
Compressed 749024 bytes to 489284...<br />
Writing at 0x00010000... (3 %)<br />
Writing at 0x0001a2d2... (6 %)<br />
Writing at 0x00025032... (10 %)<br />
Writing at 0x00032156... (13 %)<br />
Writing at 0x000375f6... (16 %)<br />
Writing at 0x0003d247... (20 %)<br />
Writing at 0x000426d2... (23 %)<br />
Writing at 0x00047f25... (26 %)<br />
Writing at 0x0004cfd1... (30 %)<br />
Writing at 0x00051d1e... (33 %)<br />
Writing at 0x00056cd7... (36 %)<br />
Writing at 0x0005bb7c... (40 %)<br />
Writing at 0x00060999... (43 %)<br />
Writing at 0x00065d3a... (46 %)<br />
Writing at 0x0006ae01... (50 %)<br />
Writing at 0x0007099c... (53 %)<br />
Writing at 0x00075b02... (56 %)<br />
Writing at 0x0007a9c8... (60 %)<br />
Writing at 0x0007fae9... (63 %)<br />
Writing at 0x00084bb3... (66 %)<br />
Writing at 0x0008a0b6... (70 %)<br />
Writing at 0x0008f48c... (73 %)<br />
Writing at 0x00095387... (76 %)<br />
Writing at 0x0009a8d8... (80 %)<br />
Writing at 0x000a08d5... (83 %)<br />
Writing at 0x000a915d... (86 %)<br />
Writing at 0x000b0c30... (90 %)<br />
Writing at 0x000b689e... (93 %)<br />
Writing at 0x000bc36b... (96 %)<br />
Writing at 0x000c1c30... (100 %)<br />
Wrote 749024 bytes (489284 compressed) at 0x00010000 in 6.7 seconds (effective 887.9 kbit/s)...<br />
Hash of data verified.</p>
<p dir="auto">Leaving...<br />
Hard resetting via RTS pin...</p>
<p dir="auto">(Results, red LED on and black screen)</p>
<p dir="auto">(In ESP Tool)</p>
<p dir="auto">esptool.js<br />
Serial port WebSerial VendorID 0x303a ProductID 0x1001<br />
Connecting...Error: Failed to execute 'open' on 'SerialPort': Failed to open serial port.<br />
Error: Cannot read properties of undefined (reading 'BOOTLOADER_FLASH_OFFSET')</p>
]]></description><link>https://www.community.lilygo.cc/post/1763</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1763</guid><dc:creator><![CDATA[fartmoney99]]></dc:creator><pubDate>Thu, 30 May 2024 03:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Wed, 29 May 2024 16:51:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2524">@fartmoney99</a> I find the Arduino IDE upload window to be the most helpful troubleshooting</p>
<p dir="auto"><img src="/assets/uploads/files/1717001334009-screenshot-2024-05-29-at-12.48.35-pm-resized.png" alt="Screenshot 2024-05-29 at 12.48.35 PM.png" class=" img-responsive img-markdown" /></p>
<p dir="auto">Can you copy / paste the actual error message from the comm window at the bottom of Arduino IDE ?</p>
<p dir="auto">Then we can start troubleshooting.</p>
]]></description><link>https://www.community.lilygo.cc/post/1759</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1759</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Wed, 29 May 2024 16:51:45 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Wed, 29 May 2024 16:36:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/612">@teastain2</a> I tried using holding boot and then pressing reset but that didn't worked, it still says com error</p>
]]></description><link>https://www.community.lilygo.cc/post/1758</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1758</guid><dc:creator><![CDATA[fartmoney99]]></dc:creator><pubDate>Wed, 29 May 2024 16:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to T display S3 doesnt upload code on Wed, 29 May 2024 14:58:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2524">@fartmoney99</a> I am sure we can get it working again, but I use Arduino IDE 2.3.2 and that is very stable, so lets try troubleshooting on that platform.</p>
<p dir="auto">I also made a GitHub repository for new users with setup help and simple examples for troubleshooting here:<br />
<a href="https://github.com/teastainGit/LilyGO-T-display-S3-setup-and-examples" rel="nofollow ugc">https://github.com/teastainGit/LilyGO-T-display-S3-setup-and-examples</a></p>
<p dir="auto">Everything I could tell you in the next paragraph is here, but it is a long read, because the LilyGO T-Display S3 is a complex high performance board, very challenging.</p>
<p dir="auto">The S3 variant requires  using the Boot button and the Reset to enter into download mode. There are three ways to do this, so try them in order.<br />
-Terry</p>
]]></description><link>https://www.community.lilygo.cc/post/1757</link><guid isPermaLink="true">https://www.community.lilygo.cc/post/1757</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Wed, 29 May 2024 14:58:28 GMT</pubDate></item></channel></rss>