Page 1 of 1

S3 BootLoop Revisited

Posted: Thu Dec 22, 2022 8:40 pm
by michalk
ESP32-S3-DevKitC-1
I am working on a small web server project with OTA update capability. I'm trying to use the official packages, and am not sure if I'm not doing something right, or perhaps the S3 isn't supported like I think it should be.

My platformio.ini file:

Code: Select all

[env:esp32-s3-devkitc-1]
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip	; wifi works, but OTA updates don't
; platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip	; wifi doesn't work
; platform = https://github.com/tasmota/platform-espressif32/releases/download/2022.12.0/platform-espressif32.zip			; wifi fails
; platform = espressif32
; platform = https://github.com/platformio/platform-espressif32.git	; boot loop
; platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32#master
board = esp32-s3-devkitc-1
framework = arduino
monitor_filters = esp32_exception_decoder
monitor_speed = 115200
My code:

Code: Select all

#include <Arduino.h>
// #include <WiFi.h>

const char* ssid = "ssid";
const char* password = "password";

void setup(void) {
  Serial.begin(115200);
  // WiFi.mode(WIFI_STA);
  // WiFi.begin(ssid, password);
  Serial.println("Compiled at " + String(__TIME__) + " " + String(__DATE__));

  // uint32_t wifiTimeout = 30000;
  // while (WiFi.status() != WL_CONNECTED) {
  //   delay(500);
  //   Serial.println(WiFi.status());
  //   Serial.println(String((int)((millis()/(float)wifiTimeout)*100)) + "% ");
  // }
}

void loop(void) { }
When I use the tasmota platform (see comments above for various versions):
  • no bootloop
  • wifi works
  • OTA updates don't work
When I use the stock "espressif32":
  • no bootloop
  • wifi.status() returns 255
When I use the platformio platform:
  • bootloop
Is the S3 not yet working (in general) for Platformio?

Re: S3 BootLoop Revisited

Posted: Thu Dec 22, 2022 9:02 pm
by username
I have had the same issue for about a month. My get arround was to add
platform = espressif32@5.1.0
in platform.ini file.

When I use the default "platform = espressif32" it just keeps rebooting. I have been to busy to check platformIO's site as to why this is.

Re: S3 BootLoop Revisited

Posted: Thu Dec 22, 2022 9:18 pm
by michalk
Hmm, this is frustrating. I just pinned it to the 5.1.0 version and it still bootloops.

Re: S3 BootLoop Revisited

Posted: Thu Dec 22, 2022 9:32 pm
by username
Sorry it didn't work for you. Hopefully someone else can chime in.

Re: S3 BootLoop Revisited

Posted: Fri Dec 23, 2022 4:00 pm
by michalk
After much digging, I should know better. Something similar has bitten me before.
ESP32-S3-WROOM-2-D3N32R8V
ESP32-S3-WROOM-2-M0N32R8V
The WROOM-2 still have problems with a few things. The biggest is flashing the image, so while I could flash an image via UART, I could not do it via OTA. Additionally, WiFi would work, but only on select Tasmota versions.
I am testing now with the ESP32-S3-WROOM-1-D2N8R8, and everything works as expected.

Note to self: Don't get greedy buying the latest greatest.
Eventually, all of the features will get ironed out on the 32MB S3.

Re: S3 BootLoop Revisited

Posted: Fri Dec 23, 2022 9:35 pm
by chegewara
It would be good if you post the logs.
If its arduino build version then most likely logs wont be very helpful, but who knows.

Is it possible that you are building firmware for DIO/QIO version and the module is OPI version?
Its something new and we (users) have to learn it hard way, but modules with OPI flash has issues with QIO/DIO firmware vice versa (im just not sure if its firmware or just bootloader problem).