T-RGB Upload Problems
Only about 10% of the attempts to upload a program from flash using Arduino IDE to the T-RGB are working. I have all of the settings properly configured as per the GitHub instructions. Does anyone know if there is a trick to make the upload more reliable? I have two of the T-RGB units. Quite freqentely the upload stops part way through at 70 or 80% complete.
Changing the speed to lower does not seem to help.
@mustangproject So, few questions:
What cable and what port?
I ask because I have some intermittent problems, but I am now using a very good cable but through a powered USB port. Sometimes I cannot upload using the ThunderBolt port.
Here are the recommended upload settings: (which you said you were using!)
"ESP32S3 Dev Module"
Upload Speed: "921600"
USB Mode: "Hardware CDC and JAG"
USB CDC On Boot: "Enabled"
USB Firmware MSC On Boot: "Disabled"
USB DFU On Boot: "Disabled"
Upload Mode: "UARTO / Hardware CDC"
CPU Frequency: "240MHz (WiFi)"
Flash Mode: "QIO 80MHz"
Flash Size: "16MB (128Mb)"
Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)"
Core Debug Level: "F' PSRAM: "OPI PSRAM"
Arduino Runs On: "Core 1"
Events Run On: "Core 1"
Sometimes I have to reboot my computer, although illogical.
@mustangproject Thank you for the response. I am using IDE 2.0.4. I have a powered USB hub I just bought because I thought that might help. I have several new cables I have tried. The RGB shows up on com4. The computer is a Acer laptop with 12 Gig of ram running Windows 11. It has a AMD 4 core processor 2.1 Ghz.
I double checked the settings and they are as pasted. I would say about 1 of 5 or 7 attempts are successful.
Sometimes I can reboot and it seems to help but other times not. The typical error message I get is this one:
A fatal error occurred: The chip stopped responding.
Failed uploading: uploading error: exit status 2
Other times the programming will proceed to 50% or more and then fail.
@mustangproject Whelp...I'm out of Ideas.
You seem to be doing everything correctly!
P.S. my last stab at this would be that I have had some programs with for/next loops that are too tight and need a 100ms delay added...to get the ESP32 to stop and listen to the download. Just "too busy". I have a stable baseline test sketch that is non-taxing and has a whopping 1000ms dead band at the end of the loop. I struggle to get it loaded, but when I do, I edit my high performance sketch and add a delay before I re-upload.
@teastain2 Thanks I will give that a try as well. Out of desperation, I have done a complete uninstall, file cleanout, and registry clean and reinstalled everything. Same results. Often I get this error below if the upload starts. Maybe someone will more suggestions.
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.2 seconds (effective 338.2 kbit/s)...
Hash of data verified.
Compressed 962496 bytes to 640010...
Writing at 0x00010000... (2 %)
Writing at 0x00019eea... (5 %)
Writing at 0x00025658... (7 %)
Writing at 0x0002fbb3... (10 %)
Writing at 0x0003b880... (12 %)
Writing at 0x000412e0... (15 %)
Writing at 0x000469c2... (17 %)
Writing at 0x0004bfce... (20 %)
Writing at 0x00050eb7... (22 %)
Writing at 0x00055eec... (25 %)
A serial exception error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Failed uploading: uploading error: exit status 1
@mustangproject Much better. So this is surprising. I now have good results if I do two things. 1) I put the board into download mode each time by holding down the reset button and then pressing the boot button. Then I release the reset button followed by the boot button. Now the board is in download mode. I am not sure why or what this is. But I also MUST have the little extender cable attached that comes with the board. There is a little cable that extends the SDA, SCL power and ground pins for I2C devices. Just attaching that cable with nothing on the other end makes it work now along with the button stuff. No idea at all why except some parasitic capacitance and perhaps the buzy code idea you mentioned above.
@mustangproject Great news. If you hold boot and then press reset, and release reset, then release boot that will stop the MCU from executing your program and enter Download Mode and perhaps too busy? This is good to learn.
The i2c cable thing is just weird!!!
same problem iam facing